访问对象的所有元素而不是使用foreach的最佳方法是什么?
提前致谢...
答案 0 :(得分:4)
get_object_vars
- 获取给定对象的属性
答案 1 :(得分:1)
foreach有什么问题?
但是有几种方法
您可以执行以下操作:
$length = count($arr);
for($i = 0; $i<$length; $i++)
你也可以
while($i < $length)
如果您有数字键,请直接访问这些项目。
然而,如果你没有数字键,foreach不会慢,它是最好的方法。
您也可以使用next($arr)
或[{1}}
我想说这取决于你想要做的上下文。
如果你想用大小为X的数组进行X操作,例如你需要一些循环。
如果你只想对所有元素应用相同的操作,你可以使用方便的函数push/pop
如果您只是想从中获取所有信息,您也可以使用array_map
,那么您只有一个新数组,那么呢?
这实际上取决于你想要做的事情!
在大多数情况下,foreach很好而且很快。
如果您想搜索特定的键/值或查看它们是否存在,那么就会有特别优化的array functions。