将每个递归函数添加到数组中



我想在每个递归函数被调用时添加到数组中。我用了几种方法,但总是出错。这是关于我在做什么,它应该足以找出我想要完成的事情。

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);

所以我也试图返回数组,不成功。我不确定如何从函数返回数组。

因此,我将感谢帮助如何添加到每个递归函数的数组,并将函数外的数组返回到一个可用的变量。

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

作为structure()返回一个值,您需要将其设置为一个变量,以便在每次调用时都提供该变量。最后:

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

最新更新