优化foreach声明

时间:2013-02-07 14:31:18

标签: php foreach

这是我的代码:

<?php foreach ($classes as $str) foreach ($str as $class): ?>
...
<?php endforeach ?>

$str只有一个带有随机字符串索引的字符串值。

可以优化第一个语句以将其减少到只有一个foreach吗?

1 个答案:

答案 0 :(得分:3)

你可以展平你的classes数组,但它不会给你带来任何性能上的好处,因为在内部,数组的扁平化无论如何都会迭代整个数组。

简短的回答是:不 - 如果不改变构造$classes数组的方式(如果可能的话),就没有办法优化它 - 假设你需要访问所有的二级子节点$classes数组。

修改:如果您的$str子阵列只有一个随机数组具有随机数组索引,则可以使用current($str) - 它可能会被证明是foreach

更快