PHP はまだ比較的一般的に使用されているため、PHP 配列トラバーサルについて研究し、ここで皆さんに共有したいと思います。 PHP 配列トラバーサルについては、http://www.lilov.org/post/18.html などで多くの人が実際にテストを行っていますが、これらの議論は実際には単純すぎるため、ここではより包括的に説明します。ちょっとうるさいかもしれませんが、プログラムを作るときはこれを念頭に置いて、常に優れたものを目指して努力する必要があります。クールですね。
まず、PHP の配列走査メソッド for、while、foreach については詳しく説明しません。分からない場合は、PHP 公式マニュアルをご確認ください。ただし、for の記述方法は、 while と配列を走査する foreach も異なります。その効果についてはどうなるでしょうか? ご存知のとおり、プログラムは上記のリンクにある Lilov によって作成されたプログラムから変更されています。テストをダウンロードできます。テスト 1: PHP 4.4.1 では、1 次元配列
number
1 | for( $i = 0; $i | |
for($i = 0, $num = count($arr); $i | 3 | |
4 | while(list(, $val) = each($arr)) | |
5 | while(list($key, ) = each($arr)) | |
6 | foreach($arr as $key => $val) | |
7 | foreach($arr as $val) | |
7 が最も速いことがわかりますが、このメソッドは添字を返しません。この添字付けの方法は要件を満たしていません。次に2ですが、この書き方と1との違いはありますか。 2 はループ前に配列の長さを計算しますが、1 はループするたびに配列の長さを計算するため、2 は 1 より効率的です。ただし、2 と 1 は同じであり、添字が数字であり、その数字が連続している配列に対してのみ操作できます。 3 番目は 6 です。一般的な議論では、これが最も速い方法と考えられています。配列の添字を操作する場合、添字に連続しない数値が含まれている場合は、間違いなくこの方法を選択する必要があります。これ以上は省略します。 使用法:roll: | テスト 2: PHP4.4.1 では、2 桁の配列を使用します |
http://www.bkjia.com/PHPjc/446537.html
技術記事