配列がforeach
に渡されるとき、入力と同じ出力順序が保証されますか?いくつかの言語では、各要素が同時に処理されるため、出力順序が保証されていないことが分かります。foreachはPHPで配列の順番に反復処理されることが保証されていますか?
たとえば、ソートされた配列をforeach
に渡してファイルに書き出します。私は配列が出力ファイルでソートされることを確認したい。
配列がforeach
に渡されるとき、入力と同じ出力順序が保証されますか?いくつかの言語では、各要素が同時に処理されるため、出力順序が保証されていないことが分かります。foreachはPHPで配列の順番に反復処理されることが保証されていますか?
たとえば、ソートされた配列をforeach
に渡してファイルに書き出します。私は配列が出力ファイルでソートされることを確認したい。
はい...あなたがforeachに与える順序は、同じ順序で繰り返されます。あなたの場合array will be sorted in the output file.
+1 - 私にそれを打つ! – Fenton
はい - 項目は配列内の同じ順序で出力されます。
これは正しいです、foreach
は入力配列と同じ順序で出力します。
関連する参考文献は、foreach
のようなものではなく、前述のようにソートされていても、配列のものではないことがあります。
Language reference — Arraysは言う:
PHPの配列は、実際に注文したマップです。
*(参照)*あなたは配列をソートする必要がhttp://php.net/manual/en/control-structures.foreach.php – Gordon
上記の回答が、場合array_multisort()を見てforeachループを実行する前に: http://php.net/manual/en/function.array-multisort.php – o1iver
私はphp 'foreach'docを読んだ後、同じ質問でここに来ました。それは順序が残ることを明示的に述べていない。私はどちらのコメントも例ではない。唯一の参考資料は、現在の要素と次の要素についての 'reset()'です。 – Sebastian