Heim  >  Artikel  >  Backend-Entwicklung  >  Wettbewerb um die Geschwindigkeit der PHP-Array-Schlüsselwertkonvertierung

Wettbewerb um die Geschwindigkeit der PHP-Array-Schlüsselwertkonvertierung

WBOY
WBOYOriginal
2024-05-01 21:33:02717Durchsuche

In PHP ist die schnellste Sortiermethode zum Konvertieren von Array-Schlüsselwerten: array_flip(): 0,00192 Sekunden array_combine(): 0,00506 Sekunden array_map(): 0,01369 Sekunden foreach() + array_keys(): 0,01332 Sekunden benutzerdefinierte Schleife: 0,00600 Sekunden

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

PHP Array Key Value Conversion Speed ​​​​Wettbewerb

Es ist von entscheidender Bedeutung, Arrays zu verarbeiten und Schlüsselwerte effizient in PHP zu konvertieren. In diesem Artikel wird ein Geschwindigkeitswettbewerb zwischen mehreren gängigen Methoden zur Schlüsselwertkonvertierung durchgeführt und praktische Beispiele bereitgestellt, die Ihnen helfen, deren Leistung zu verstehen.

Testumgebung

  • PHP 8.1
  • macOS Catalina 10.15
  • Test-Array-Größe: 1.000.000

Methoden

Wir vergleichen die folgenden Methoden:

  • array_flip() array_flip()
  • array_combine()
  • array_map()
  • foreach()array_keys()
  • 自定义循环

实战案例

$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() 0.00192
array_combine() 0.00506
array_map() 0.01369
foreach() + array_keys() 0.01332
自定义循环 0.00600

结论

根据我们的测试,array_flip() 是转换数组键值的最快方法,而 array_map()foreach() + array_keys() 也表现不错。对于大型数组,array_flip()

array_combine()🎜🎜array_map()🎜🎜foreach() und array_keys()🎜🎜 seitdem Schleife definieren🎜🎜🎜🎜Praktischer Fall🎜🎜rrreee🎜🎜Ergebnis🎜🎜
Methode Zeit (Sekunden)
array_flip() 0,00192
array_combine() 0,00506 td >
array_map() 0,01369
foreach() + array_keys() 0,01332
Benutzerdefinierte Schleife 0,00600
🎜🎜Fazit🎜🎜🎜gemäß Bei unseren Tests ist array_flip() der schnellste Weg, Array-Schlüsselwerte zu konvertieren, während array_map() und foreach() + array_keys () funktioniert ebenfalls gut. Für große Arrays ist array_flip() die beste Wahl, da es die höchste Leistung und Effizienz bietet. 🎜

Das obige ist der detaillierte Inhalt vonWettbewerb um die Geschwindigkeit der PHP-Array-Schlüsselwertkonvertierung. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Vorheriger Artikel:Was bedeutet nbsp in PHP?Nächster Artikel:Was bedeutet nbsp in PHP?