PHP では、配列キー値を変換するための最速のソート方法は次のとおりです: array_flip(): 0.00192 秒 array_combine(): 0.00506 秒 array_map(): 0.01369 秒 foreach() array_keys(): 0.01332 秒 カスタム ループ: 0.00600秒
PHP配列キー値変換速度競争
配列を処理してキー値を効率的に変換することが重要ですPHP で。この記事では、いくつかの一般的なキーと値の変換方法の間で速度を競い合い、そのパフォーマンスを理解するのに役立つ実践的なケースを提供します。
#テスト環境
##PHP 8.1次のメソッドを比較します:
array_flip()
array_combine()
array_map()
foreach()
カスタム ループ
$arr = range(1, 1000000); // 使用 array_flip() $start = microtime(true); $flipped = array_flip($arr); $end = microtime(true); $time_array_flip = $end - $start; // 使用 array_combine() $keys = range('a', 'z'); $start = microtime(true); $combined = array_combine($keys, $arr); $end = microtime(true); $time_array_combine = $end - $start; // 使用 array_map() $start = microtime(true); $mapped = array_map(function($x) { return [$x, $x]; }, $arr); $end = microtime(true); $time_array_map = $end - $start; // 使用 foreach() 和 array_keys() $start = microtime(true); $flipped = []; $keys = array_keys($arr); foreach ($keys as $key) { $flipped[$key] = $arr[$key]; } $end = microtime(true); $time_foreach = $end - $start; // 使用自定义循环 $start = microtime(true); $flipped = []; for ($i = 0; $i < count($arr); $i++) { $flipped[$arr[$i]] = $arr[$i]; } $end = microtime(true); $time_custom = $end - $start; // 显示结果 echo "array_flip(): $time_array_flip s\n"; echo "array_combine(): $time_array_combine s\n"; echo "array_map(): $time_array_map s\n"; echo "foreach() + array_keys(): $time_foreach s\n"; echo "自定义循环: $time_custom s\n";結果
# #メソッド
##array_flip() | |
---|---|
array_combine() | 0.00506 |
array_map() | 0.01369 |
foreach() array_keys () | 0.01332 |
カスタム ループ | 0.00600 |
結論 |
array_flip() が最も速い方法ですが、array_map()
とforeach()
array_keys() も優れたパフォーマンスを発揮します。大規模な配列の場合は、最高のパフォーマンスと効率を提供する
array_flip() が最適な選択です。
以上がPHP配列のキーと値の変換速度競争の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。