Maison  >  Article  >  développement back-end  >  Optimisation du code PHP array_push

Optimisation du code PHP array_push

little bottle
little bottleavant
2019-04-17 10:19:392378parcourir

Il existe généralement plusieurs types de données insérées dans des tableaux en PHP :

  1. Attribuer des valeurs directement lors de la définition
$arr = array(‘apple’, ’banana’);
  1. Utilisez les opérations sur les variables de tableau
$arr = array();
$arr[] = ‘apple’;
$arr[] = ‘banana’;
  1. Utilisez array_push() pour insérer
$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.

Comparaison des performances

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 :

Optimisation du code PHP array_push

Optimisation du code PHP array_push

<.> La fonction est utilisée pour vérifier l'utilisation de la mémoire. Les résultats d'exécution sont les suivants : convert

Optimisation du code PHP array_push

Optimisation du code PHP array_push

En exécutant le code ci-dessus plusieurs fois, vous pouvez constater que l'affectation directe de la variable de tableau Using prend environ

, 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

En comparant les deux méthodes, nous avons constaté que la méthode deux est en effet plus rapide que l'appel de

, 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!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer