Le type tableau de PHP est très souple. Voici quelques exemples d'utilisation :
<?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();
?<
Collection
<?php
$couleurs = array('rouge','bleu','vert','jaune');
foreach ( $couleurs as $couleur ){
echo "Aimez-vous la couleur $couleur?\n";
}
/* Affiche :
Aimez-vous la couleur rouge?
Aimez-vous la couleur bleu?
Aimez-vous la couleur vert?
Aimez-vous la couleur jaune?
*/
?>
Notez qu'il n'est pas possible actuellement de modifier les
valeurs d'un tableau avec une telle boucle.
Une solution pour cela est :
Collection
<?php
foreach( $couleurs as $cle => $couleur ){
// ne marche pas
//$couleur = strtoupper($couleur);
//marche :
$couleurs[$cle] = strtoupper($couleur);
}
print_r($couleur);
/* Affiche :
Array
(
[0] => ROUGE
[1] => BLEU
[2] => VERT
[3] => JAUNE
)
*/
?>
Cet exemple crée un tableau d'index minimal 1.
Tableau en 1
<?php
$firstquarter = array(1 => 'Janvier', 'Février', 'Mars');
print_r($firstquarter);
/* Affiche:
Array
(
[1] => 'Janvier'
[2] => 'Février'
[3] => 'Mars'
)
*/
?>
Remplissage d'un tableau
<?php
// remplis 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.
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 multi-dimensionnels, ou récursifs.
Tableaux multi-dimensionnels, et récursifs
<?php
$fruits = array ( "fruits" => array ( "a" => "orange"
, "b" => "banane"
, "c" => "pomme"
)
, "nombres" => array ( 1
, 2
, 3
, 4
, 5
, 6
)
, "trous" => array ( "premier"
, 5 => "second"
, "troisième"
)
);
?>