0

PHP では、foreach よりも for ループを実行する方が実行が高速でなければならないことを説明している Web ページを読みました。これは私にとって新しいことですが、自分でテストしたいと思います。PHPでforeachをforループに変換するにはどうすればよいですか? 例として以下のものを使用します。

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

PHP で for ループを見たことがありますが、その中で「as」を使用していません。したがって、上記が PHP で for ループとしてどのように見えるかはわかりません。$station->ITEMS->ITEM の count() も必要ですか? ありがとう!

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 に答える