Maison  >  Article  >  développement back-end  >  Concours de vitesse de conversion clé-valeur du tableau PHP

Concours de vitesse de conversion clé-valeur du tableau PHP

WBOY
WBOYoriginal
2024-05-01 21:33:02718parcourir

En PHP, la méthode de tri la plus rapide pour convertir les valeurs des clés de tableau est : array_flip() : 0,00192 secondes array_combine() : 0,00506 secondes array_map() : 0,01369 secondes foreach() + array_keys() : 0,01332 secondes boucle personnalisée : 0,00600 secondes

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

Concours de vitesse de conversion des valeurs clés des tableaux PHP

Il est crucial de traiter les tableaux et de convertir efficacement les valeurs clés en PHP. Cet article organisera une compétition de vitesse entre plusieurs méthodes courantes de conversion clé-valeur et fournira des cas pratiques pour vous aider à comprendre leurs performances.

Environnement de test

  • PHP 8.1
  • macOS Catalina 10.15
  • Taille du tableau de test : 1 000 000

Méthodes

Nous comparerons les méthodes suivantes :

  • 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() et array_keys()🎜🎜 depuis Définir une boucle🎜🎜🎜🎜Cas pratique🎜🎜rrreee🎜🎜Résultat🎜🎜
Méthode Temps (secondes)
array_flip() 0.00192
array_combine() 0.00506 td >
array_map() 0.01369
foreach() + array_keys() 0.01332
Boucle personnalisée 0.00600
🎜🎜Conclusion🎜🎜🎜selon Testé par nous, array_flip() est le moyen le plus rapide de convertir les valeurs de clé de tableau, tandis que array_map() et foreach() + array_keys () fonctionne également bien. Pour les grands tableaux, array_flip() est votre meilleur choix car il offre les performances et l'efficacité les plus élevées. 🎜

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Article précédent:Que signifie nbsp en phpArticle suivant:Que signifie nbsp en php