-2

我想在调用每个递归函数时添加到数组中。我已经尝试了几种方法,但只是在错误之后出现错误。这就是我要做的事情,应该足以解决我想要完成的事情。

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

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

因此,对于如何使用每个递归函数添加到数组并将函数外部的数组返回到可用变量中,我将不胜感激。

4

1 回答 1

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

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

$whatever = structure(22);
var_dump($whatever );
于 2013-06-13T11:59:41.673 回答