php中在外部怎样调用函数里面的参数?

2024-12-21 17:16:21
推荐回答(2个)
回答1:

你这是一个类方法么,如果是你可以用 

$result = array();
function getResult($ret ,$i=0){
    foreach($ret as $k => $v) {
        global $resultaaa;
        $tmp = array();
        $tmp["col_id"] = $v["col_id"];
        $tmp["col_pid"] = $v["col_pid"];
        $tmp["col_path"] = $v["col_path"];
        $tmp["col_title"] = $v["col_title"];
        $this->result[$i++] = $tmp;
        if($v['k'] != NULL){
            $i = $this->getResult($v['k'],$i);
        }
    }
    return $i;
}

$this->result;

如果不是类方法,你的$i = $this->getResult($v['k'],$i); 这一句是错误的,

你可以参考风云style的答案,或者增加一个传址参数

function getResult($ret ,$i=0,&$result = array()){}

外面直接用$result 就是方法里面修改后的变量

回答2:

现在你的函数结尾已经有一个return了,你可以吧 $i跟$result再组成一个数组。

	function getResult($ret ,$i=0){
foreach($ret as $k => $v) {
     global $resultaaa;
$tmp = array();
$tmp["col_id"] = $v["col_id"];
$tmp["col_pid"] = $v["col_pid"];
$tmp["col_path"] = $v["col_path"];
$tmp["col_title"] = $v["col_title"];

$result[$i++] = $tmp;

if($v['k'] != NULL){
$i = $this->getResult($v['k'],$i);
}
}

//return $i;

$arr[0] = $i;
$arr[1] = $result;
return $arr;
}

使用的时候 $arr[1]这样就可以了。