我有這個遞歸函數,我必須使用一個數組來存儲和驗證使用過的數據,意思是說,在一個字符串被使用後,我想記住它已被使用,所以我不會在下一次迭代中再次檢查該字符串。 問題出在第一次迭代之後,數組被認爲是NULL。在遞歸函數中的數組
所以我的問題是這樣的:我如何傳遞數組遞歸函數?或者我如何在遞歸函數中使用數組?
我在這裏看了這個,雖然有很多類似的問題沒有回答我的問題。
注:我明白,任何可以用遞歸完成的事情都可以用循環完成...但是...這是函數。就像我在第二次迭代中提到的陣列被認爲是NULL,我得到這樣的警告:
array_push()預計參數1是陣列,在...
這裏空給出的邏輯功能:
// Set Vars...
$Str = 'someData';
$S_Array = array();
// initial call...
GetData($Str, $S_Array);
function GetData ($string, $array)
{
// string manipulations code...
.
.
.
.
// Attempt to Store in array
array_push($array, $string);
foreach ($array as $val) {
// Recursive Call...
GetData($val, $array);
}
}
能夠實現,是它只是你已經通過$ ARRY而不是$數組中的遞歸調用錯誤? – ivanjovanovic 2012-01-15 14:46:36
這是「提前致謝」。沒有尾隨「d」。 – 2012-01-15 14:51:52