php遞迴演算法總結

2022-03-25 00:28:49 字數 1073 閱讀 6171

遞迴演算法的實現方法是有多種的,如通過「靜態變數」、「全域性變數」、「引用傳參」的方式:

靜態變數的方法:

<?php

function

call()

}call();

輸出:

0 1 2 3 4 5 6 7 8 9

利用static定義靜態變數來實現遞迴排序。如上我們定義了乙個call方法和靜態變數$i,如果我們不給$i變數新增判斷,而是直接執行,就會出現死迴圈。所以我們這裡新增了乙個if條件判斷語句。最後迴圈呼叫自身方法

全域性變數global實現遞迴:

1

<?php

2$i=1;

3function

call()10}

11 call();

輸出:

12345678910

如果沒有在方法體內用global 定義$i,則會出現$i未被宣告的錯誤。並且需要注意,在函式體內定義的global變數,函式體內可以使用,在函式體外定義的global變數不能在函式體內使用。

注:global的作用是定義全域性變數,但是這個全域性變數不是應用於整個**,而是應用於當前頁面,包括include或require的所有檔案。遞迴即呼叫自身的函式。在使用遞迴時,我們需要在函式中定義退出條件,否則它將進入無限迴圈(這裡我們通過if語句定義了退出條件)。

引用傳參的方式實現遞迴演算法:

1

<?php

2function test($a=0,&$result=array

())8

echo

$a."";

9return

$result;10

}11var_dump(test());

php的引用,簡單來說就是在變數或者函式、物件等前面加上&符號(也就是引用符號),這裡就需要了解下php引用傳遞的概念,即可以將乙個變數通過引用傳遞給函式,這樣該函式就可以修改其引數的值。

在php 中引用的意思就是不同的名字訪問同乙個變數內容。

PHP演算法 遞迴演算法

遞迴函式在日常專案中有很廣泛的用途,例如寫樹結構 遍歷目錄等,今天我們用乙個簡單的遞迴demo來求斐波那契數列,並用 釋它執行的過程。0 1 1 2 3 5 8 13 21 34 function demo n elseif n 1 else return number echo demo 4 輸出...

PHP遞迴演算法

在php開發過程中,遞迴演算法通常用於無限極分類。遞迴演算法的實現方法是有多種的,如通過 靜態變數 全域性變數 引用傳參 的方式。1.靜態變數的方法 靜態變數只存在於函式作用域內,一般的函式內變數在函式結束後會釋放,比如區域性變數,但是靜態變數卻不會。就是說,下次再呼叫這個函式的時候,該變數的值會保...

php遞迴演算法

我們都知道,程式設計有兩大難點 指標和遞迴。這裡說一說遞迴。一 什麼是遞迴函式呢?遞迴函式就是直接或間接的自己呼叫自己的函式。一句話就是 自己呼叫自己 二 什麼時候使用遞迴呢?當需要不斷重複某一方法時,也就是有某種共同的規律,有如 以此類推 重複多次 等情景時。巧用遞演算法能減少大量 三 簡單理解遞...