我已經改變了這個遞歸函數的版本... http://www.phpbuilder.com/articles/databases/mysql/handling-hierarchical-data-in-mysql-and-php.htmlPHP:如何保存數組中的遞歸函數的結果?
我需要的是一種保存在一個數組這個函數的返回值,這樣我可以逆轉數組元素的順序。該函數適用於我,但我需要一種方法來保存值。這裏是你想要這個代碼...
function display_children($category_id, $level) {
global $database;
$result = mysql_query("SELECT * FROM parents WHERE id_roditelja='$category_id'") or die(mysql_error());
$niz = array();
while ($row = mysql_fetch_array($result)) {
echo str_repeat(' ', $level) . $row['naziv'] . "<br/>";
array_push($niz, display_children($row['parent_id'], $level + 1));
//this is one way I tried, and I get $niz with exact number of elements but each is null
//in this $niz array I need to store values of recursion
var_dump($niz);
}
}
chould你轉儲$ niz之外,你的空問題可能是因爲第二個參數給array_push。你的遞歸函數不會返回任何要發送到array_push的值,我的意思是你有很多操作,但末尾沒有值 –
@som:你能解釋爲什麼這不是一個遞歸函數嗎?它自稱?暴徒:你忘了回報$ niz;過了一段時間 – Christoph
對不起,我沒有看到正確的。 – som