L2 Info : PHP et Programmation Web
 
◃  Ch. 5 Strings and arrays  ▹
 

Les tableaux en PHP

  • Création 
    /* création d'un tableau indexé automatiquement */
    $tableauStr = array ('un', 'ensemble', 'de', 'chaînes', 'de', 'caractères');
    $tableauInt = array (12, 54, 658, 16);
    $tableauMixte = array (1, 'ensemble', 2, 'données', 2, '!=', 'types');
    
    /* ou encore */
    $tableau = ['azer', 'qsdf', 'wxcv'];
    
    /* création d'un tableau associatif (indexation clé/valeur) */
    $tableauAssoc = array ('entree' => 'Tomate Moza',
                              'plat' => 'Pizza Vivaldi',
                              'dessert' => 'Tiramisu');
    
  • Lecture/Écriture
    echo $tableauStr[0]; // affiche 'un'
    echo $tableauAssoc['dessert']; // affiche 'Tiramisu'
    
    /* Modification d'un élément de tableau */
    $tableauMixte[5] = 'différents';
    $tableauAssoc['plat'] = 'Pizza Calzone';
    
  • Manipulations
    /* Extension du tableau (par la fin) */
    $tableau[3] = 'tyui';
    $tableau[count($tableau)] = 'ghjk';
    $tableau[] = 'oplm';
    array_push($tableau, 'bn', '1234', '5678','90');
    
    /* insertion en tête */
    array_unshift($tableau, 'AZER');
    
    /* Suppression/récupération de la queue */
    $queue = array_pop($tableau);
    
    /* Suppression/récupération de la tête */
    $tete = array_shift($tableau);
    
  • Tris des tableaux
    /* tri d'un tableau dans l'ordre croissant */
    /* (voir ksort et asort pour les tableaux associatifs) */
    sort($tableauInt);
    
    /* tri d'un tableau dans l'ordre décroissant*/
    rsort($tableauInt);
    
  • Décomposition d'un tableau associatif
    /* Clés d'un tableau associatif (ou pas) */
    $tableauCles = array_keys($tableauAssoc);
    
    /* Valeurs contenues dans un tableau */
    $tableauValeurs = array_values($tableauAssoc);
    
un
Tiramisu
Array ( [0] => azer [1] => qsdf [2] => wxcv [3] => tyui [4] => ghjk [5] => oplm [6] => bn [7] => 1234 [8] => 5678 [9] => 90 )
Array ( [0] => AZER [1] => azer [2] => qsdf [3] => wxcv [4] => tyui [5] => ghjk [6] => oplm [7] => bn [8] => 1234 [9] => 5678 [10] => 90 )
90
Array ( [0] => AZER [1] => azer [2] => qsdf [3] => wxcv [4] => tyui [5] => ghjk [6] => oplm [7] => bn [8] => 1234 [9] => 5678 )
AZER
Array ( [0] => azer [1] => qsdf [2] => wxcv [3] => tyui [4] => ghjk [5] => oplm [6] => bn [7] => 1234 [8] => 5678 )
Array ( [0] => 12 [1] => 16 [2] => 54 [3] => 658 )
Array ( [0] => 658 [1] => 54 [2] => 16 [3] => 12 )
Array ( [0] => entree [1] => plat [2] => dessert )
Array ( [0] => Tomate Moza [1] => Pizza Calzone [2] => Tiramisu )