0

我在网页上阅读过,解释说在 PHP 中执行 for 循环必须比 foreach 更快。这对我来说是新的,但我想自己测试一下。如何在 PHP 中将 foreach 转换为 for 循环?以下面的为例:

foreach ($station->ITEMS->ITEM as $trips=>$trip) {
    $ny_trips[$trips] = $trip;
}

我在 PHP 中见过 for 循环,但没有在其中使用 'as'。所以我不确定上面的内容在 PHP 中作为 for 循环的外观如何。是否还需要对 $station->ITEMS->ITEM 进行计数()?谢谢!

4

2 回答 2

2

假设数组上的键是从 0 开始的完美数字序列,那么这就是您要寻找的。

for($x = 0, $nItems = count($station->ITEMS->ITEM); $x<$nItems; $x++) {
    $ny_trips[$x] = $station->ITEMS->ITEM[$x];
}

如果键是非数字的,那么或者不是完美的顺序,那么你需要做这样的事情。

$keys = array_keys($station->ITEMS->ITEM);
for($x = 0, $nItems =  count($station->ITEMS->ITEM);$x < $nItems; $x++) {
    $ny_trips[$keys[$x]] = $station->ITEMS->ITEM[$keys[$x]];
}    
于 2013-07-15T05:42:40.877 回答
0
for($i=0;$i < count($station->ITEMS->ITEM);$i++){
   $ny_trips[$i] = $station->ITEMS->ITEM[$i];
}
于 2013-07-15T05:42:34.203 回答