ホームページ >バックエンド開発 >PHPチュートリアル >PHP 配列キー値の反転: さまざまな方法のパフォーマンス比較分析

PHP 配列キー値の反転: さまざまな方法のパフォーマンス比較分析

PHPz
PHPzオリジナル
2024-05-03 21:03:01967ブラウズ

PHP の配列キー値反転メソッドのパフォーマンスを比較すると、array_flip() 関数は、大規模な配列 (100 万要素以上) では for ループよりもパフォーマンスが高く、所要時間が短いことがわかります。キー値を手動で反転する for ループ方式は、比較的長い時間がかかります。

PHP 数组键值翻转:不同方法的性能对比分析

#PHP 配列キー値の反転: さまざまなメソッドのパフォーマンス比較分析

はじめに

PHP では、配列キー値の反転は一般的な操作です。配列内のキーと値を交換して、新しい配列を形成します。この記事では、さまざまな配列キー値反転メソッドのパフォーマンスを比較し、実際のケースを示します。

メソッドの比較

array_flip() 関数

array_flip() 関数は次のように構築されます。 PHP の配列キー値反転関数。その構文は非常に単純です:

array_flip($array);

For ループ

for ループを使用して配列のキー値を手動で反転することもできます:

$newArray = [];
foreach ($array as $key => $value) {
    $newArray[$value] = $key;
}

実践的な戦闘ケース

次は、

array_flip() 関数と for ループ メソッドのパフォーマンスを比較する実際的なケースです。

$array = range(1, 1000000); // 创建一个包含 100 万个元素的数组

// 使用 array_flip() 函数翻转键值
$startTime = microtime(true);
$flippedArray1 = array_flip($array);
$endTime = microtime(true);
$time1 = $endTime - $startTime;

// 使用 for 循环翻转键值
$startTime = microtime(true);
$flippedArray2 = [];
foreach ($array as $key => $value) {
    $flippedArray2[$value] = $key;
}
$endTime = microtime(true);
$time2 = $endTime - $startTime;

echo "array_flip() 函数耗时:$time1 秒<br>";
echo "for 循环耗时:$time2 秒<br>";

if ($flippedArray1 == $flippedArray2) {
    echo "两个数组相等<br>";
}

Result

テスト環境 (PHP 8.2):

    ##array_flip()
  • 関数の所要時間: 0.0021 秒for ループ 所要時間: 0.0052 秒
  • これは、大規模な配列 (100 万要素以上) の場合、
array_flip()

関数が実行されることを示しています。 for ループよりも優れています。

以上がPHP 配列キー値の反転: さまざまな方法のパフォーマンス比較分析の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。