function() 和 fn() 的结果不同。 PHP

问题描述 投票:0回答:1

我有一个问题。

$this->allIds->each(function ($id) {
    $this->checked[$id] = $this->checkedAll;
});

还有这个:

$this->allIds->each(fn($id) => $this->checked[$id] = $this->checkedAll);

返回不同的结果...为什么? :) 在完整版本中我有这个: 函数()的结果 简而言之,我有这个: fn()的结果

谢谢:)

php function refactoring laravel-collection fn
1个回答
0
投票

当使用

each()
迭代 Laravel Collection 时, 返回
false
停止迭代:

如果您想停止迭代这些项目,您可以从关闭中返回 false

在您的情况下,

$this->checkedAll
为 false,因此闭包返回 false,并且您在
$this->checked
数组中仅获得一个元素。

© www.soinside.com 2019 - 2024. All rights reserved.