array_flip() を使用して配列キー値を逆にすることによるパフォーマンスへの影響: 実行時間は配列サイズに応じて O(n^2) 増加します。実際のケース: 値によって連想配列のキーを取得します。
PHP 配列のキーと値の逆転: パフォーマンスと実際のケースへの影響
PHP では、配列は一般的に使用されるデータ構造です。 、配列のキー値を逆にする必要がある場合があります。これは一般的な操作ですが、パフォーマンスへの影響は見落とされがちです。
PHP は、これを行うための array_flip()
関数を提供します。この関数は、元の配列のキーが反転された新しい配列を返します。
さまざまなサイズの配列で array_flip()
関数を使用した場合のパフォーマンスを比較してみましょう:
$array1 = range(0, 9999); $array2 = range(0, 99999); $array3 = range(0, 999999); $time_start = microtime(true); $flipped_array1 = array_flip($array1); $time_end = microtime(true); $elapsed_time1 = $time_end - $time_start; $time_start = microtime(true); $flipped_array2 = array_flip($array2); $time_end = microtime(true); $elapsed_time2 = $time_end - $time_start; $time_start = microtime(true); $flipped_array3 = array_flip($array3); $time_end = microtime(true); $elapsed_time3 = $time_end - $time_start; echo "執行時間:\n"; echo "10,000 個元素:$elapsed_time1 秒\n"; echo "100,000 個元素:$elapsed_time2 秒\n"; echo "1,000,000 個元素:$elapsed_time3 秒\n";
結果から、 array_flip( )
配列のサイズが大きくなると、関数の実行時間も長くなります。これは、array_flip()
関数が内部でネストされたループを使用しており、その複雑さが O(n^2) であるためです。
実際的なケース
array_flip()
関数を使用する実際的なケースは、連想配列のキー値を反転することです。キーを取得するために値を渡すことができることを確認します。例:
$associated_array = [ "red" => "#FF0000", "blue" => "#0000FF", "green" => "#00FF00", ]; $flipped_array = array_flip($associated_array); echo $flipped_array["#00FF00"]; // 輸出:green
以上がPHP 配列のキー値が逆になり、パフォーマンス PK に大きな影響を与えますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。