语句应该用作一种循环浏览集合并对其执行某种逻辑的方法。如果其中的内容会影响程序中的其他内容,请使用此循环。foreach
该方法用于循环遍历集合中的每个对象,并对每个对象执行闭包。然后,它返回结果数组。这是关键! 如果要以某种方式更改集合,则应使用。也许这是一系列汽车,你想使模型大写或小写。您只需将一个闭包传递给获取该对象并调用每个 Car 对象的模型的方法。然后,它将返回包含已进行更改的集合。.each
array_map
.each
.each
strtoupper()
故事的士气是这样的:使用方法以某种方式更改数组中的每个项目;使用循环来使用每个对象来影响程序的其他部分(使用一些逻辑语句)。.each
foreach
更新(2015 年 6 月 7 日)
正如下面雄辩地指出的那样(看看我在那里做了什么?),上面的答案有点不对劲。使用的方法从未实际使用过调用的输出。因此,创建的新数组不会保存在 .要更改它,最好使用该方法,该方法也存在于对象上。.each
array_map
array_map
array_map
Collection
.map
Collection
使用语句来循环访问每个语句更有意义,因为除非您确保使用语句,否则您将无法访问闭包之外的变量,这在我看来很尴尬。foreach
use
最初编写上述答案时的实现可以在这里找到。
.each
在拉拉维尔 5.1
他们在下面谈论的新内容不再使用 。它只是循环访问集合中的每个项,并调用传入的项,将项及其在数组中的键传递给它。从功能上讲,它似乎工作相同。我相信在阅读代码时使用循环会更有意义。但是,我看到了使用的好处,因为它允许您将方法链接在一起,如果这引起了您的兴趣。它还允许您从回调返回 false,以便在业务逻辑要求您能够这样做时提前离开循环。.each
array_map
$callback
foreach
.each
有关新实现的详细信息,请查看源代码。