web-dev-qa-db-fra.com

Différence entre array_Push () et $ array [] =

Dans le manuel PHP, ( array_Push ) indique ..

Si vous utilisez array_Push () pour ajouter un élément au tableau, mieux vaut utilisez $ array [] = car, de cette manière, il n’ya pas de surcharge à appeler un une fonction.

Par exemple :

$arr = array();
array_Push($arr, "stackoverflow");
print_r($arr);

contre

$arr[] = "stackoverflow";
print_r($arr);

Je ne comprends pas pourquoi il y a une grande différence.

106
l2aelba

Lorsque vous appelez une fonction dans PHP (telle que array_Push()), l’appel comporte des frais généraux, car PHP doit rechercher la référence de la fonction, trouver sa position en mémoire et exécuter le code qu’il définit.

L'utilisation de $arr[] = 'some value'; ne nécessite pas d'appel de fonction et implémente l'addition directement dans la structure de données. Ainsi, lors de l'ajout de nombreuses données, il est beaucoup plus rapide et économe en ressources d'utiliser $arr[].

141
BenM

Vous pouvez ajouter plus d’un élément d’un coup à un tableau en utilisant array_Push,

par exemple. array_Push($array_name, $element1, $element2,...)

Où $ element1, $ element2, ... sont des éléments à ajouter au tableau.

Mais si vous voulez n’ajouter qu’un seul élément à la fois, une autre méthode (c’est-à-dire en utilisant $ array_name []) devrait être préférée.

42
Sujit Singh

La différence est dans la ligne ci-dessous à "parce que de cette façon, il n'y a pas de surcharge d'appeler une fonction"

array_Push() émettra un avertissement si le premier argument n'est pas un tableau. Cela diffère du comportement $var[] où un nouveau tableau est créé.

12
Baig

Si possible, vous devriez toujours utiliser $array[] car, comme l'indique la zone, il n'y a pas de surcharge pour l'appel de fonction. Ainsi, c'est un peu plus rapide que l'appel de fonction.

7
Benjamin Paap

array_Push - Ajoute un ou plusieurs éléments à la fin du tableau

Prenez note des mots "un ou plusieurs éléments à la fin" Pour le faire en utilisant $arr[], vous devez obtenir la taille maximale du tableau.

5
ianace

expliquer: 1.le premier déclare la variable dans un tableau.

2.la seconde méthode array_Push est utilisée pour pousser la chaîne dans la variable array.

3. Enfin, le résultat sera imprimé.

4.la deuxième méthode consiste à stocker directement la chaîne dans le tableau.

5.Les données sont imprimées dans les valeurs de tableau avec la méthode print_r.

ces deux sont identiques

2
Saravana Kumar

les deux sont identiques, mais array_Push crée une boucle dans son paramètre qui est un tableau et exécute $ array [] = $ element

1
Sara

Personne n'a dit, mais array_Push ne fait que pousser un élément vers la fin du tableau, où $ array [index] peut insérer une valeur à un index donné. Grande différence.

1
Marco

Je sais que c'est une vieille réponse, mais il pourrait être utile que les autres sachent qu'une autre différence entre les deux est que si vous devez ajouter plus de 2/3 valeurs par boucle à un tableau, son utilisation est plus rapide:

     for($i = 0; $i < 10; $i++){
          array_Push($arr, $i, $i*2, $i*3, $i*4, ...)
     }

au lieu de:

     for($i = 0; $i < 10; $i++){
         $arr[] = $i;
         $arr[] = $i*2;
         $arr[] = $i*3;
         $arr[] = $i*4;
         ...
     }

edit- Vous avez oublié de fermer le crochet pour la condition for

0
Antoniu Livadariu

En mots normaux .. 

// produces: array(0=>'foo', 1=>'bar');
$arr[] = 'foo'
$arr[] = 'bar'

//produces: array('foo', 'bar');
array_Push($arr, 'foo', 'bar');
0
Chris Visser