ホームページ >バックエンド開発 >PHPチュートリアル >PHP 配列のキーと値の交換: 効率的な実装とパフォーマンスの議論
PHP 配列のキーと値を交換するための 2 つの効率的な方法: array_flip() 関数の使用 (効率的、大量のデータに推奨) 手動交換 (比較的遅い、少量のデータに適している) パフォーマンス テストでは、array_flip( ) 関数の交換パフォーマンスが向上 100,000 要素での手動交換よりも約 2.3 倍高速です。
PHP 配列のキー値の交換: 効率的な実装とパフォーマンスの議論
PHP では、配列のキーを交換する必要がある場合があります。配列の値。このブログ投稿では、2 つの効率的な実装を検討し、実際のケースを通じてそのパフォーマンスを比較します。
方法 1: array_flip() 関数
$arr = ['foo' => 'bar', 'baz' => 'qux']; $reversedArr = array_flip($arr);
方法 2: 手動交換
$arr = ['foo' => 'bar', 'baz' => 'qux']; $newArray = []; foreach ($arr as $key => $value) { $newArray[$value] = $key; }
実用的なケース
PHP の microtime(true)
関数を使用して、2 つのメソッドの実行時間を測定します。
$arr = range(1, 100000); // 创建一个包含 100,000 个元素的数组 // array_flip() 方法 $startTime = microtime(true); $reversedArr = array_flip($arr); $endTime = microtime(true); $timeTakenArrayFlip = $endTime - $startTime; // 手动交换方法 $startTime = microtime(true); $newArray = []; foreach ($arr as $key => $value) { $newArray[$value] = $key; } $endTime = microtime(true); $timeTakenManual = $endTime - $startTime;
Result
私のテスト マシンでは、array_flip()
メソッドでは 100,000 回のキーと値のスワップを実行するのに約 0.0013 秒かかりましたが、手動スワップ メソッドでは約 0.003 秒かかりました。
結論
キーと値の交換の場合、特に大量のデータを扱う場合、PHP では array_flip()
関数がより効率的な方法です。データの。
以上がPHP 配列のキーと値の交換: 効率的な実装とパフォーマンスの議論の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。