Home > Backend Development > PHP Tutorial > PHP array key-value conversion speed competition

PHP array key-value conversion speed competition

WBOY
Release: 2024-05-01 21:33:02
Original
743 people have browsed it

In PHP, the fastest sorting method for converting array key values ​​is: array_flip(): 0.00192 seconds array_combine(): 0.00506 seconds array_map(): 0.01369 seconds foreach() array_keys(): 0.01332 seconds custom loop: 0.00600 Seconds

PHP 数组键值转换速度大比拼

PHP Array Key Value Conversion Speed ​​Competition

It is crucial to process arrays and convert key values ​​efficiently in PHP . This article will conduct a speed competition among several common key-value conversion methods and provide practical cases to help you understand their performance.

Test environment

    ##PHP 8.1
  • macOS Catalina 10.15
  • Test array size: 1,000,000

Methods

We will compare the following methods:

  • array_flip()
  • array_combine()
  • array_map()
  • foreach() and array_keys()
  • Custom loop

Actual case

$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";
Copy after login

Result

MethodTime (seconds)##array_flip()array_combine()array_map()##foreach() array_keys ()0.01332Custom loop0.00600Conclusion
0.00192
0.00506
0.01369

According to our testing, array_flip()

is the fastest way to convert array key values, while

array_map() and foreach() array_keys() also performs well. For large arrays, array_flip() is your best choice as it provides the highest performance and efficiency.

The above is the detailed content of PHP array key-value conversion speed competition. For more information, please follow other related articles on the PHP Chinese website!

Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template