你这是一个类方法么,如果是你可以用
$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 就是方法里面修改后的变量
现在你的函数结尾已经有一个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]这样就可以了。