Comparaisons de tableaux
<<<
Exemples Les types
>>>

5.2.6 Les tableaux
5.2 Les types
5 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

5.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();
?>

Notez qu'il n'est pas possible en fait de modifier les valeurs d'un tableau avec une telle boucle. Une solution pour cela est :

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 tablea 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 multi-dimensionnels, 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é changed,
             // $arr1 vaut toujours array(2, 3)

$arr3 = &$arr1;
$arr3[] = 4; // maintenant $arr1 et $arr3 sont identiques
?>

Sommaire :

<< Exemples >>
Comparaisons de tableaux Les tableaux Les types