$this->foo1();
public function foo1()
{
$arr9 = [0, 1, 2, 3, 4];
\a_y::debug($this->foo2($arr9));
}
public function foo2($arr)
{
static $result = [];
$len = count($arr);
if ($len < 1) {
\a_y::debug($result);
return $result;
}
$len --;
$_a = rand(0, $len);
array_push($result, $arr[$_a]);
$new = [];
foreach ($arr as $key=>$val){
if ($val !== $arr[$_a]) {
array_push($new, $val);
}
}
$this->foo2($new);
}
为什么我在foo1 里面debug出来是个空数组,而在foo2里面debug出来是有数据的?
return $this->foo2($new);
你最后一句加一个return试试
不对的,这个问题我用另外的方法解决了,把$result设置成全局的就可以了,但是问题的原因我还是想不通
设置$result为全局变量可以实现功能