5.2.6.1 Syntaxe
5.2.6 Les tableaux
5.2 Les types
5 Référence du langage
Manuel PHP
. Créer un tableau array ->La syntaxe à crochets
|
5.2.6.1.2 La syntaxe à crochets
Vous pouvez aussi modifier un tableau existant en lui assignant
simplement des valeurs.
L'assignation de valeurs de tableau se fait en spécifiant la clé
entre crochets. Si vous omettez la clé ("
$tableau[]
"),
la valeur sera ajoutée à la fin du tableau.
$arr[
key
] =
value
;
$arr[] =
value
;
//
key
est soit une chaîne de caractères, soit un entier
//
value
peut être n'importe quoi
Si
$arr
n'existe pas, il sera créé. Cela
en fait une alternative pour créer un tableau. Pour modifier une
valeur, assignez-lui une nouvelle valeur. Pour supprimer une
valeur, utilisez la fonction
unset
.
Manipuler des éléments de tableau |
<?php $arr = array(5 => 1, 12 => 2);
$arr[] = 56; // Ceci revient à $arr[13] = 56; // à ce moment du script
$arr["x"] = 42; // Ceci ajoute un nouvel élément // avec l'index "x"
unset($arr[5]); // Ceci efface un élément du tableau
unset($arr); // Ceci efface tout le tableau ?>
|
Note |
Comme indiqué ci-dessus, si vous fournissez des crochets
sans spécifier de clé, le plus grand index entier existant
est recherché et la nouvelle clé générée est cette valeur
maximum + 1. Si aucune clé entière n'existe, la valeur sera
alors
0
. Si vous spécifiez une clé qui est
déjà existante, vous écraserez le contenu précédent.
Attention |
Depuis PHP 4.3.0, la génération d'index a changé. Si vous ajoutez
un élément et que la valeur maximale de la clé est négative,
alors la prochaine clé générée est
0
. Auparavant,
c'était la plus grande valeur + 1, négative ou pas.
Cela reste le comportement pour les clés positives.
|
Notez que le maximum théorique
n'a pas besoin
d'exister au moment de la génération
. Il peut simplement
avoir existé dans le tableau à un moment depuis la dernière fois
où le tableau a été ré-indexé. L'exemple suivant illustre bien ceci :
La génération automatique de clé peut utiliser un ancien maximum |
<?php // Crée un simple tableau $array = array(1, 2, 3, 4, 5); print_r($array);
// On efface tous les éléments, mais on conserve le tableau foreach ($array as $i => $value) { unset($array[$i]); } print_r($array);
// On ajoute une valeur : notez que la nouvelle clé est 5 // et non pas 0, comme on l'attendrait. $array[] = 6; print_r($array);
// Re-indexation : $array = array_values($array); $array[] = 7; print_r($array); ?>
|
|
|