Création
Tableau à index
$notes = [10,20]; // nouvelle syntaxe $notes = array(10,20); // ancienne syntaxe
Représentation graphique d'un tableau à index :
Tableau associatif
$eleve = [ 'nom' => 'Dylan', 'Prenom' => 'Bob', 'notes' => [12, 14, 16] ];
Représentation graphique d'un tableau associatif:
Ajout de valeur
// équivalent de array_push
Nouvelle syntaxe
$eleve['notes'][] = 17.5; // part du premier index libre $eleve['classe'] = "Première 2"; // ajoute une clé Ancienne méthode : $stack = array("orange", "banana"); array_push($stack, "apple", "raspberry");
Parcours d'un tableau
<?php // Parcours d'un tableau à index $arr = array(1, 2, 3, 4); foreach ($arr as &$value) { $value = $value * 2; } // Parcours d'un tableau associatif foreach ($_POST as $key => $value) { echo "Clé : " . $key . " - Valeur : " . $value; }
Exemple de parcours d'un tableau avec schéma
Nombres d'éléments d'un tableau avec count()
Si l'argument donné à count() est un tableau ou un objet qui implémente l'interface Countable, count renvoie la taille du tableau.
Ex :
$array = []; echo count($array); // affiche 0 $array = ['toto', 'jojo']; echo count($array); // affiche 2
Test si un tableau comprend un élément avec in_array
$os = array("Mac", "NT", "Irix", "Linux"); if (in_array("Irix", $os)) { echo "Got Irix"; } if (in_array("mac", $os)) { echo "Got mac"; }
Spread operator pour fusionner des tableaux
Le spread operator permet de fusionner des tableaux mais il a normalement de meilleures performances que array_merge.
$parts = ['apple', 'pear']; $fruits = ['banana', 'orange', ...$parts, 'watermelon'];
Exemple de tableau complexe
$very_complex_array = [ [ "nom" => "Tartenpion", "identite" => [ "prenom" => "Didier", "date_naissance" => "2020-10-10", "adresse" => [ "rue" => "nulle part", "code_postal" => "34000", "ville" => "Montpellier" ] ] ], [ "nom" => "Tartenpion2", "identite" => [ "prenom" => "Didier", "date_naissance" => "2020-10-10", "adresse" => [ "rue" => "nulle part", "code_postal" => "34500", "ville" => "Montpellier" ] ] ] ];
Comment afficher le code postal du deuxième élément du tableau very_complex_array ?
echo PHP_EOL.$very_complex_array[1]["identite"]["adresse"]["code_postal"];