Comment ajouter des éléments à un tableau vide en PHP?
Si je définis un tableau en PHP tel que (je ne définis pas sa taille):
$cart = array();
Est-ce que J'ajoute simplement des éléments à l'aide de ce qui suit?
$cart[] = 13;
$cart[] = "foo";
$cart[] = obj;
Les tableaux en PHP n'ont-ils pas de méthode add, par exemple, cart.add(13)
?
7 réponses
Les Deux array_push
et la méthode que vous avez décrites travail.
<?php
$cart = array();
$cart[] = 13;
$cart[] = 14;
// etc
?>
Est le même que:
<?php
$cart = array();
array_push($cart, 13);
array_push($cart, 14);
// Or
$cart = array();
array_push($cart, 13, 14);
?>
Il est préférable de ne pas utiliser array_push
et utilisez simplement ce que vous avez suggéré. Les fonctions ajoutent simplement des frais généraux.
//We don't need to define the array, but in many cases it's the best solution.
$cart = array();
//Automatic new integer key higher than the highest
//existing integer key in the array, starts at 0.
$cart[] = 13;
$cart[] = 'text';
//Numeric key
$cart[4] = $object;
//Text key (assoc)
$cart['key'] = 'test';
Sur la base de mon expérience, votre solution est bonne (meilleure) lorsque les clés ne sont pas importantes:
$cart = [];
$cart[] = 13;
$cart[] = "foo";
$cart[] = obj;
Vous pouvez utiliser array_push. Il ajoute des éléments à la fin du tableau, comme dans une pile.
Vous auriez aussi pu le faire comme ceci:
$cart = array(13, "foo", $obj);
Rappelez-vous, cette méthode écrase le premier tableau, utilisez donc uniquement lorsque vous êtes sûr!
$arr1 = $arr1 + $arr2;
Quand on veut ajouter des éléments avec une indexation d'éléments basée sur zéro, je suppose que cela fonctionnera aussi:
// adding elements to an array with zero-based index
$matrix= array();
$matrix[count($matrix)]= 'element 1';
$matrix[count($matrix)]= 'element 2';
...
$matrix[count($matrix)]= 'element N';
Il est appelé array_push: http://il.php.net/function.array-push