foreach 循环的返回结果

Dav*_*olt 1 php foreach return

我有一些代码看起来像这样(我已经简化了它):

function process_something($a){
    foreach($a as $b){
        // Some logic here
        return $something;
    }
}
$input=[]; // An array of some kind
echo process_something($input);
Run Code Online (Sandbox Code Playgroud)

我希望最后一行能够回显循环返回的内容,但我什么也没得到。也许上面的代码不起作用。我只是为了说明而把它放进去。我有很多嵌套循环一起工作以返回各种内容。

如果我有循环回显数据,它就可以工作。但是,我需要此函数将最终结果返回给我以进行进一步处理,而不是向用户回显。

我该如何继续?

Kar*_*ica 6

在这种情况下,该循环只会运行一次,因为return在第一次出现时就会跳出函数。

它应该更像是:

function process_something($a){
    foreach($a as $b){
        $something = 'Some math or other logic here';
    }
    return $something;
}
$input=[]; // An array of some kind
echo process_something($input);
Run Code Online (Sandbox Code Playgroud)

请发布您的代码,我们将尝试找出问题所在。

  • 感谢@Karol 的回答,我在尝试返回循环的所有结果时遇到了同样的问题。现在我知道 return 必须在循环之外,否则它会在第一次出现时跳出。 (2认同)