Maison >développement back-end >tutoriel php >Est-ce que $array[] est vraiment plus rapide que array_push() en PHP ?

Est-ce que $array[] est vraiment plus rapide que array_push() en PHP ?

Susan Sarandon
Susan Sarandonoriginal
2024-11-06 07:55:02930parcourir

Is $array[] Really Faster Than array_push() in PHP?

Comparaison de la vitesse de $array[] et array_push() en PHP

Quand il s'agit d'ajouter des éléments à un tableau en PHP, il existe deux approches courantes : utiliser $array[] ou array_push(). Alors que le manuel PHP recommande d'éviter les fonctions pour des raisons de performances, certains arguments suggèrent que $array[] est plus lent que array_push(). Pour clarifier cette question, approfondissons le débat avec quelques benchmarks.

Résultats du benchmark

Pour déterminer la différence de vitesse entre ces deux méthodes, le code suivant a été exécuté :

<code class="php">$t = microtime(true);
$array = array();
for($i = 0; $i < 10000; $i++) {
    $array[] = $i;
}
print microtime(true) - $t;
print '<br>';
$t = microtime(true);
$array = array();
for($i = 0; $i < 10000; $i++) {
    array_push($array, $i);
}
print microtime(true) - $t;</code>

Les résultats ont systématiquement montré que $array[] est environ 50 % plus rapide que array_push().

PHP Manual Insight

Le Le manuel PHP explique que l'utilisation de $array[] évite la surcharge liée à l'appel d'une fonction pour les ajouts d'un seul élément. Étonnamment, même lors de l'ajout de plusieurs éléments, les appels individuels $array[] se sont avérés plus rapides qu'un seul appel array_push().

Conclusion

Contrairement à certains arguments, $array[] est manifestement plus rapide que array_push() pour les ajouts d'éléments simples et multiples. Bien que les deux méthodes conviennent à différents scénarios, $array[] doit être pris en compte lorsque la vitesse est une priorité.

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