我想知道PHP如何处理匿名数组,如果我这样使用它:
foreach(array('a', 'b') as $foo) {
// ...
}
如果数组在每一步中被重新创建,这样做就行不通了-但它能够工作,看起来像PHP为该数组创建了一个变量(或类似的东西,实际上并不重要)-这意味着这并不会造成性能问题。但是,为什么不使用匿名数组和foreach循环?(这在某种程度上“看起来不对/不好”)
我想知道PHP如何处理匿名数组,如果我这样使用它:
foreach(array('a', 'b') as $foo) {
// ...
}
我认为这是可以使用的。
无论您使用直接初始化数组还是将数组变量用作foreach
的参数,都是有效的参数,并且没有理由认为匿名数组会有不同的处理方式。
从代码维护的角度来看,这里正在做什么也非常清晰,因此也没有可读性问题。
这是一个完全正常的数组,应该可以工作。
您使用的术语很奇怪,“匿名”一词对于函数来说是有意义的,因为它们通常具有名称,但对于数组来说呢?如果您没有直接将整数分配给变量,那么它是否是匿名的? :) 不是的...
$x=1; $y=2; $z=$x+$y
与$z=1+2
之间的区别。你不会想知道为什么可以直接写2
而不将其分配给一个变量。或者foreach (functionreturninganarray() as $foo)
... - Karoly Horvath
foreach
中使用匿名数组的最佳示例是:foreach(range('a', 'z') as $char) {}
。 - ComFreek