PHP:获取对象所有元素的最佳方式?
答
有什么不好的foreach?
很好,但有几种方法
你可以这样做:
$length = count($arr);
for($i = 0; $i<$length; $i++)
你也可以做
while($i < $length)
并直接访问的项目,如果你有数字键。
但是,如果您没有数字键,foreach不会变慢,而且是最好的方法。
您也可以访问使用next($arr)
的项目,也可以push/pop
我会说这取决于你想要做什么的上下文。
如果你想用X大小的数组进行X操作,例如你需要一些循环。
如果宥只希望应用于所有元素非常相同的操作,您可以使用方便的功能array_map
,如果你只是想从它那里得到的所有信息,你也可以使用get_object_vars
然而,那么你就只是一个新阵列,然后呢?
这真的取决于你想要做的上下文!
在大多数情况下,foreach很好,很快。
如果您想要搜索特定的键/值或查看它们是否存在,那么有特殊的优化array functions。
'foreach'不适用于对象。请澄清。 – 2010-12-11 15:01:59
确实如此。 $ arr = array(“hello”,“”,“world”); $ arr =(Object)$ arr; var_dump($ arr); ($ arr as $ a){ echo $ a; } ...也..什么是在PHP中的对象? :d – 2010-12-11 15:10:18