【发布时间】:2009-10-20 20:08:15
【问题描述】:
我正在为Zend PHP certification学习。
我不确定这个问题的答案。
问题:使用 PHP 5 迭代和修改数组的每个元素的最佳方法是什么?
a) 在迭代过程中不能修改数组
b)
for($i = 0; $i < count($array); $i++) { /* ... */ }c)
foreach($array as $key => &$val) { /* ... */ }d)
foreach($array as $key => $val) { /* ... */ }e)
while(list($key, $val) = each($array)) { /* ... */ }
我的直觉是 (B),因为不需要创建临时变量,但后来我意识到它不适用于关联数组。
在互联网上进一步搜索我发现了这个:
将不变数组计数存储在单独的变量中可以提高性能。
$cnt = count($array);
for ($i = 0; $i < $cnt; $i++) { }
【问题讨论】: