【发布时间】:2016-08-10 17:04:28
【问题描述】:
我很好奇是否有更好的方法来做我正在做的事情。我对 php 还很陌生,所以我对其他人对这门语言花费更多时间的看法很感兴趣。
我想做的事:对数组中的每个对象调用一个函数
我在做什么:
array_map(function($object) { $object->loadEvents(); }, $patients);
这很好,并且有效。我也可以使用 for 循环,
我问的原因:我已经习惯了在没有的情况下不使用 for 循环,所以我想出了一个使用 array_map 的方法.问题是,我看到的每一个地方,似乎人们都在使用 array_map 将结果映射到一个新数组。当我基本上想要 array_map 的功能但没有返回值时。
有没有更好的方法?在这个和for循环之外? for循环是更好的方法吗?
【问题讨论】:
-
你为什么这么害怕 for 循环?最后
array_map()还将使用内部循环来遍历数组值。你也可以看看array_walk() -
foreach是通常的方式。 -
正如@Rizier123 建议的那样,
array_walk()是不构建新数组的array_map()版本。 -
如果你只是因为它看起来很时髦而尝试使用它,你会过得很糟糕。只需使用最好的工具来完成这项工作。如果循环是最简单、最干净的解决方案,请使用它。
标签: php arrays object array-map