gpt4 book ai didi

php函数循环并最终返回处理后的数组

转载 作者:行者123 更新时间:2023-12-02 08:05:49 26 4
gpt4 key购买 nike

function test($a, $b){
$arr = [$a, $b];

if($a == 1){
echo "first here";
test(3,4);
}
else{
echo "second here";
return [$a, $b];
}
echo "should have returned earlier";
return $arr;
}

$arr = test(1,2);
print_r($arr);

我期待 [0 => 3, 1 => 4] 但收到 [0 => 1,1 => 2]

谁能解释一下它是如何返回的?

最佳答案

当你处理递归时,你应该返回一个递归函数。

function test($a, $b){
$arr = [$a, $b];

if ($a === 1) {
echo "first here";
return test(3,4);
}
// ELSE is not needed as if $a === 1 the program will never get here
echo "second here";
return [$a, $b];
}

$arr = test(1,2);
print_r($arr);

请考虑通过精确指定所需的输出和行为来更新您的问题。如果我为您创建的代码是您想要的结果,您还应该考虑更改您的代码,因为它不是动态的并且可能没有用例。

关于php函数循环并最终返回处理后的数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51779710/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com