使用每个递归函数添加到数组

时间:2013-06-13 11:16:03

标签: php arrays function

我希望在调用每个递归函数时添加一个数组。我已经玩了几个方法,但只是在错误后得到错误。这就是我要做的事情,它应该足以解决我想要完成的事情。

function structure($x, $structure = array()) {
$qry = mysql_query("SELECT `parent_id` FROM `categories` WHERE `categories_id`=$x");
$result = mysql_fetch_assoc($qry);
$cat = $result['parent_id'];
if($cat !=0) {
    structure($cat, $structure[] = $cat);
}
echo $cat.' >';
return $structure;
}

echo structure(22);
var_dump($structure);

所以我也试图返回数组,但没有成功。我不确定你是如何从函数返回数组的。

所以我很感激有关如何使用每个递归函数添加到数组并将函数外部的数组返回到可用变量的帮助。

1 个答案:

答案 0 :(得分:0)

if($cat !=0) {
    $structure = structure($cat, $structure[] = $cat);
}

当structure()返回一个值时,你需要将它设置为一个变量,所以每次调用都会输入这个变量。 最后:

$whatever = structure(22);
var_dump($whatever );