通常、PHP の配列にはいくつかのタイプのデータが挿入されます。
$arr = array(‘apple’, ’banana’);
$arr = array(); $arr[] = ‘apple’; $arr[] = ‘banana’;
$arr = array(‘apple’); array_push($arr, ‘banana’, ‘orange’);
ほとんどの場合、まずデータベースからデータを取得し、次にそれを配列形式に変換します。 1 番目のケースでは、配列を定義する際の直接代入は、多くの場合、データ量が少なく既知であるため、コードの最適化がない状況にのみ適しています。
テストには php 7.2
を使用し、構成の最適化は行いませんでした。テスト方法: 配列を定義し、2 番目と 3 番目の方法をそれぞれ使用して 100,000 レコードを挿入します。コードはおおよそ次のとおりです。 ##convert
##上記を実行すると、コードを複数回実行すると、配列変数の割り当てを直接使用すると約 0.0045
かかるのに対し、
を使用する方法では約 0.006
かかることがわかります。これらはすべて 100,000 レコードであるため、消費されるメモリは同じです。2 つのメソッドを比較すると、各ループで関数の呼び出しに時間がかかるため、メソッド 2 のほうが
array_push を呼び出すよりも確かに高速であることがわかりました。ただし、上記のテストを見るだけでは、そうではありません。 2 番目のメソッドが array_push
を呼び出すより速いとは感じません。2 番目のメソッドが 3 番目のメソッドよりどれだけ速いかは、まったく無視できます。 確かに、この種の最適化は、ほとんどのアプリケーションでは最適化を行わないのと変わりませんが、アプリケーションがボトルネックに達すると、目立たない最適化によってパフォーマンスが大幅に向上する可能性があり、テストでの配列の構造はは非常に単純ですが、実際のプロジェクトではデータ型はそれほど単一ではなく、入れ子配列になったり、配列のサイズが 100,000 を超える場合もあります。
この 2 つの違いを見てみましょう。
は関数呼び出しで、もう 1 つは関数呼び出しではありません。つまり、コードの点では 2 つは同じです。サイズ。配列から構造的な観点から、テストではインデックスを使用しませんでした。デフォルトは 0 から開始します。データを挿入するために key => value
形式を使用したい場合は、 ,
はあまり便利ではありませんが、扱いは簡単ですが、このときは方法 2:
$array1[$key] => $x を使用すると非常に便利です。 array_push()
は良くないと言われましたが、場合によっては array_push
が依然として非常に便利です。たとえば、一度に複数の要素を挿入したい場合は、次のように使用できます: <div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">$arr = array(‘a’, ’b’);
array_push($arr, ‘c’, ‘d’);
// $arr = array(‘a’, ’b’, ‘c’, ‘d’);</pre><div class="contentsignin">ログイン後にコピー</div></div> 上記の比較からわかるように、PHP には配列補間方法が多数あります。は似ていますが、それぞれの方法をいつ使用する必要があるかを理解することが重要です。 <p>関連コース: <code>PHP ビデオ チュートリアル
以上がPHP コードの最適化 array_pushの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。