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

PHP array key-value conversion speed competition

May 01, 2024 pm 09:33 PM
php array macos

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!

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

Hot Article Tags

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

PHP 8.4 Installation and Upgrade guide for Ubuntu and Debian PHP 8.4 Installation and Upgrade guide for Ubuntu and Debian Dec 24, 2024 pm 04:42 PM

PHP 8.4 Installation and Upgrade guide for Ubuntu and Debian

How to update the latest version of Bybit Exchange? Will there be any impact if it is not updated? How to update the latest version of Bybit Exchange? Will there be any impact if it is not updated? Feb 21, 2025 pm 10:54 PM

How to update the latest version of Bybit Exchange? Will there be any impact if it is not updated?

How To Set Up Visual Studio Code (VS Code) for PHP Development How To Set Up Visual Studio Code (VS Code) for PHP Development Dec 20, 2024 am 11:31 AM

How To Set Up Visual Studio Code (VS Code) for PHP Development

How do you parse and process HTML/XML in PHP? How do you parse and process HTML/XML in PHP? Feb 07, 2025 am 11:57 AM

How do you parse and process HTML/XML in PHP?

Coinsuper exchange software channel official website entrance Coinsuper exchange software channel official website entrance Feb 21, 2025 pm 10:39 PM

Coinsuper exchange software channel official website entrance

PHP Program to Count Vowels in a String PHP Program to Count Vowels in a String Feb 07, 2025 pm 12:12 PM

PHP Program to Count Vowels in a String

BITGet official website installation (2025 beginner's guide) BITGet official website installation (2025 beginner's guide) Feb 21, 2025 pm 08:42 PM

BITGet official website installation (2025 beginner's guide)

Ouyi okx installation package is directly included Ouyi okx installation package is directly included Feb 21, 2025 pm 08:00 PM

Ouyi okx installation package is directly included

See all articles