この記事は、PHP コードの最適化方法 (写真とテキスト) を紹介します。一定の参考価値があります。必要な友人が参考にすることができます。お役に立てれば幸いです。
PHP で配列にデータを挿入するには、通常、いくつかの方法があります。
定義時に直接代入する
$arr = array(‘apple’, ’banana’);
配列変数操作を使用する
$arr = array(); $arr[] = ‘apple’; $arr[] = ‘banana’;
Array_push( を使用する) ) Insert
$arr = array(‘apple’); array_push($arr, ‘banana’, ‘orange’);
多くの場合、まずデータベースからデータを取得してから配列形式に変換します。前者の場合、配列を定義する際の直接代入はデータ量に応じてのみ適していることがよくあります。は非常に小さく、既知の状況であるため、コードの最適化はありません。主に 2 番目と 3 番目のタイプについて説明します。
array_push の使い方については詳しくは紹介しませんので、公式ドキュメント (https://secure.php.net/manual/ja/function.array-push.php) をご自身で読んでください。
パフォーマンスの比較
テストには PHP 7.2 を使用し、構成の最適化は行いませんでした。テスト方法: 配列を定義し、2 番目と 3 番目のメソッドをそれぞれ使用して 100,000 レコードを挿入します。コードはおおよそ次のとおりです。関数はメモリ使用量を確認するために使用されます。実行結果は次のとおりです。
上記のコードを複数回実行すると、次のことができます。配列が直接使用されていることがわかります。変数の割り当てには約 0.0045 かかりますが、array_push の使用には約 0.006 かかります。両方とも 100,000 レコードがあるため、消費されるメモリは同じです。
2 つのメソッドを比較すると、各ループで関数の呼び出しに時間がかかるため、2 番目のメソッドのほうが array_push を呼び出すよりも確かに高速であることがわかりました。ただし、上記のテストを見る限り、2 番目のメソッドはそうではないと思います。この方法の方が 3 番目の方法よりも優れていますが、この方法の速さはまったく無視できます。
確かに、この種の最適化は、ほとんどのアプリケーションでは最適化を行わないのと変わりませんが、アプリケーションがボトルネックに達すると、目立たない最適化によってパフォーマンスが大幅に向上する可能性があり、テストでの配列の構造はは非常に単純ですが、実際のプロジェクトではデータ型はそれほど単一ではなく、入れ子配列になったり、配列のサイズが 100,000 を超える場合もあります。この 2 つの違いを見てみましょう。array_push() は関数呼び出しであり、もう 1 つは関数呼び出しではありません。つまり、コード サイズの観点からは、この 2 つは同じです。テスト中の配列構造の観点 インデックスは使用せず、デフォルトではすべて 0 から始まります key => value を使用してデータを挿入したい場合、array_push() は扱いにくいです。この場合、方法 2: $array1[$key ] => $x を使用すると非常に便利です。
私たちは皆、array_push() がいかに良くないかについて話し合いましたが、時には array_push が依然として非常に役立つこともあります。たとえば、一度に複数の要素を挿入したい場合は、次のように使用できます:
$arr = array(‘a’, ’b’); array_push($arr, ‘c’, ‘d’); // $arr = array(‘a’, ’b’, ‘c’, ‘d’);
上記の比較からわかるように、PHP には配列補間方法が多数あります。は似ていますが、それぞれの方法をいつ使用する必要があるかを理解することが重要です。
[おすすめコース:
PHP ビデオ チュートリアル]
以上がPHP コードの最適化方法の概要 (グラフィックとテキスト)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。