經過兩個小時的頭部劃傷和谷歌搜索 - 我卡住了!PHP - 從遞歸函數返回數組時出錯
按照標題我試圖返回一個數組,隨着函數循環遍歷而建立起來。我只想返回else上的數組變量,但它不會合作。它只是簡單地從函數返回空白,但是在其他函數中,我可以打印它並按預期顯示。它只是不會返回$ open_array變量中的數組。任何想法(或濫用)將非常感激!
function find_parent($number, $open = false) {
if(isset($other_variable[$number])) {
foreach($other_variable[$number] as $val) {
$open[$val->id] = [$val->id;
$open = find_parent([$val->id, $open);
}
}
else {
return $open;
}
}
$open_array = find_parent($number);
print_r($open_array);
我不明白'$ other_variable'在函數的範圍界定。 – NullUserException 2010-08-14 12:20:46
還有'[$ val-> id'沒有有效的語法。這是否甚至運行? – NullUserException 2010-08-14 12:22:13
什麼?你不使用遞歸來構建數組?你來自哪個星球,莫羅尼亞? – 2010-08-14 12:29:49