Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 使用每个递归函数添加到数组_Php_Arrays_Function - Fatal编程技术网

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

Php 使用每个递归函数添加到数组,php,arrays,function,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

我想在调用每个递归函数时添加到数组中。我已经尝试了一些方法,但只是一个接一个地出错。这是关于我的目标,这应该足以让我明白我在努力实现什么

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

那么,
$structure=structure(22)?哦,那我怎么才能返回数组呢?不过,在创建阵列之前,我无法测试它。