Création

Tableau à index

$notes = [10,20]; // nouvelle syntaxe
$notes = array(10,20); // ancienne syntaxe

Représentation graphique d'un tableau à index :

tableau à index

Tableau associatif

$eleve = [
  'nom' => 'Dylan', 
  'Prenom' => 'Bob',
  'notes' => [12, 14, 16]
];

Représentation graphique d'un tableau associatif:

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 

parcours tableau

 

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"];