4.2.6 Les tableaux
4.2 Les types
4 Référence du langage
Manuel PHP
. Syntaxe . Fonctions pratiques . A faire et à ne pas faire avec les tableaux . Conversion en tableau . Comparaisons de tableaux ->Exemples
|
4.2.6.6 Exemples
Le type tableau de PHP est très souple. Voici quelques exemples
d'utilisation :
Utilisation des tableaux |
<?php // ceci $a = array( 'couleur' => 'rouge', 'gout' => 'sucre', 'forme' => 'rond', 'nom' => 'pomme', 4 // cette clé sera 0 );
// est complètement équivalent à $a['couleur'] = 'rouge'; $a['gout'] = 'sucre'; $a['forme'] = 'rond'; $a['nom'] = 'pomme'; $a[] = 4; // cette clé sera 0
$b[] = 'a'; $b[] = 'b'; $b[] = 'c'; // va créer le tableau array( 0 => 'a' , 1 => 'b' , 2 => 'c' ) // ou plus simplement array('a' , 'b' , 'c' ) ?>
|
Utilisation de array |
<?php // Array comme correspondance $map = array( 'version' => 4, 'OS' => 'Linux', 'langue' => 'français', 'short_tags' => TRUE ); // valeur strictement numériques $array = array( 7, 8, 0, 156, -10 ); // ceci est la même chose que array( 0 => 7, 1 => 8, ...) $switching = array( 10, // clé = 0 5 => 6, 3 => 7, 'a' => 4, 11, // clé = 6 (index maximum : 5) '8' => 2, // clé = 8 (entier!) '02' => 77, // clé = '02' 0 => 12 // la valeur de la clé 10 sera remplacée par 12 );
// empty array $empty = array(); ?>
|
Changer les valeur du tableau directement est possible depuis PHP 5 en les
passant par références. Les versions précédentes nécessitent cette solution :
Cet exemple crée un tableau d'index minimal 1.
Tableau en 1 |
<?php $firstquarter = array(1 => 'Janvier', 'Février', 'Mars'); print_r($firstquarter);
|
Remplissage d'un tableau |
<?php // remplit un tableau avec les noms de fichiers d'un dossier $handle = opendir('.'); while ( $file = readdir($handle) ) { $files[] = $file; } closedir($handle); ?>
|
Les tableaux sont ordonnés. Vous pouvez modifier l'ordre des
valeurs avec de nombreuses fonctions de classement. Voyez les
fonctions de tableaux pour plus
d'informations. Vous pouvez compter le nombre d'éléments d'un tableau
en utilisant la fonction
count
.
Tri de tableaux |
<?php sort($files); print_r($files); ?>
|
Comme une valeur de tableau peut être n'importe quoi, elle
peut aussi être un autre tableau. Comme cela, vous pouvez
avoir des tableaux multidimensionnels et récursifs.
Tableaux multidimensionnels, et récursifs |
<?php $fruits = array ( "fruits" => array ( "a" => "orange", "b" => "banane", "c" => "pomme" ), "nombre" => array ( 1, 2, 3, 4, 5, 6, ), "trou" => array ( "premier", 5 => "second", "troisième" ) );
// Exemples d'utilisations des tableaux ci-dessus echo $fruits["trou"][5]; // affiche "second" echo $fruits["fruits"]["a"]; // affiche "orange" unset($fruits["trou"][0]); // supprime "premier"
// Créer un tableau multidimensionnel $jus["pomme"]["vert"] = 'bon'; ?>
|
Soyez conscient que l'assignation de valeurs dans un tableau
entraîne automatiquement la copie de ces valeurs. Vous devez utiliser
l'opérateur de référence pour copier un tableau par référence.
Copie dans un tableau par référence |
<?php $arr1 = array(2, 3); $arr2 = $arr1; $arr2[] = 4; // $arr2 est modifié, // $arr1 vaut toujours array(2, 3)
$arr3 = &$arr1; $arr3[] = 4; // maintenant $arr1 et $arr3 sont identiques ?>
|
Sommaire :
|