Maison >développement back-end >tutoriel php >Optimisation du code PHP array_push
Il existe généralement plusieurs types de données insérées dans des tableaux en PHP :
$arr = array(‘apple’, ’banana’);
$arr = array(); $arr[] = ‘apple’; $arr[] = ‘banana’;
$arr = array(‘apple’); array_push($arr, ‘banana’, ‘orange’);
Dans la plupart des cas, nous obtenons d'abord les données de la base de données, et puis Convertir sous forme de tableau, et pour le premier cas, l'affectation directe lors de la définition du tableau ne convient souvent que pour les situations où la quantité de données est petite et connue, il n'y a donc pas d'optimisation du code. Nous parlons principalement du deuxième et du troisième. taper.
Nous avons utilisé php 7.2
pour des tests sans aucune optimisation de la configuration. Méthode de test : définissez un tableau et insérez 100 000 enregistrements en utilisant respectivement les deuxième et troisième méthodes. Le code est à peu près le suivant :
<.> La fonction est utilisée pour vérifier l'utilisation de la mémoire. Les résultats d'exécution sont les suivants : convert
, tandis que l'utilisation de 0.0045
prend environ array_push
. La consommation de mémoire est la même, car les deux ont 100 000 enregistrements. 0.006
, car l'appel de fonction prend un certain temps dans chaque boucle, mais rien qu'en regardant le test ci-dessus, je ne pense pas que la deuxième méthode est plus rapide que l'appel array_push
La rapidité avec laquelle la troisième méthode est complètement négligeable.
En effet, ce type d'optimisation n'est pas différent de l'absence d'optimisation dans la plupart des applications, mais lorsque l'application atteint le goulot d'étranglement, chaque optimisation discrète peut améliorer considérablement les performances, et notre La structure du tableau dans le test est très simple. Dans les projets réels, le type de données n'est pas si unique. Il peut s'agir d'un tableau imbriqué et la taille du tableau peut être supérieure à 100 000.
Regardons la différence entre les deux. array_push()
est un appel de fonction, et l'autre ne l'est pas, c'est-à-dire que d'après la taille du code, les deux sont identiques à partir du tableau. structure, pendant le test Nous n'utilisons pas d'index, et ils partent tous de 0 par défaut. Si vous souhaitez utiliser le formulaire key => value
pour insérer des données, array_push()
n'est pas facile à gérer. Dans ce cas, c'est le cas. très pratique d'utiliser la méthode 2 : $array1[$key] => $x
.
J'ai toujours dit pourquoi array_push()
n'est pas bon, mais parfois array_push
est quand même très utile. Par exemple, lorsque nous voulons insérer plusieurs éléments à la fois, nous pouvons l'utiliser comme ceci :
$arr = array(‘a’, ’b’); array_push($arr, ‘c’, ‘d’); // $arr = array(‘a’, ’b’, ‘c’, ‘d’);
Comme le montre la comparaison ci-dessus, il existe de nombreuses méthodes d'interpolation de tableau en PHP, bien que chacune. La méthode est similaire, il est important de comprendre chaque méthode. Quand l’utiliser est encore nécessaire.
Cours associés : Tutoriel vidéo PHP
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!