formations / php / les-tableaux
Les tableaux
En Php comme dans les autres langages, les tableaux sont des objets important permettant de structurer les données et de pouvoir ensuite travailler avec en les parcourant notamment avec des boucles. Ultérieurement on obtiendra des tableaux suite à des requêtes sur une base de données.
Créer un tableau
Tableau indexé
<?php
// ====================================================== //
// ================== TABLEAUX INDEXES ================== //
// ====================================================== //
$tableau1 = array("Pomme", "Poire", "Banane", "Fraise", "Framboise");
$tableau2 = ["Pomme", "Poire", "Banane", "Fraise", "Framboise"];
?>
Comme le montre le code, les tableaux indéxés peuvent être déclarés avec array ou des crochets [], ensuite, on énumére les colonnes et leur contenu en ajoutant des valeurs séparées par une virgule.
Pour accèder au contenu d'une colonne du tableau, on utilise le numéro de la colonne (l'index). Par exemple si on veut afficher le mot pomme dans la page on fait un echo comme ceci :
<?php
// ====================================================== //
// ================== TABLEAUX INDEXES ================== //
// ====================================================== //
$tableau1 = array("Pomme", "Poire", "Banane", "Fraise", "Framboise");
$tableau2 = ["Pomme", "Poire", "Banane", "Fraise", "Framboise"];
echo $tableau1[0] . "<br>";
?>
Il est à noter que la première colonne d'un tableau porte le numéro d'index 0. On peut connaitre le nombre de colonnes d'un tableau avec la function count de Php.
Dans notre exemple, le tableau1 comporte 5 colonne avec des index de 0 à 4. De sorte que si on affiche on aura bien 5 mais la dernière colonne sera accessible avec l'index 4 puisque l'on démmare à l'index 0.
<?php
// ====================================================== //
// ================== TABLEAUX INDEXES ================== //
// ====================================================== //
$tableau1 = array("Pomme", "Poire", "Banane", "Fraise", "Framboise");
$tableau2 = ["Pomme", "Poire", "Banane", "Fraise", "Framboise"];
echo $tableau1[0] . "<br>";
echo "La longueur du tableau1 est de :".count($tableau1)."<br>";
echo "La dernière colonne du tableau1 contient le mot :".$tableau1[count($tableau1)-1]."<br>";
// count($tableau1)-1 est égal à 4
?>
Tableau associatif
Une autre méthode de déclaration d'un tableau et la méthode associative, cette fois-ci, les colonnes vont être nommées plutôt que d'être indexées. Les tableaux associatifs se déclarent comme les tableaux indexés avec array ou encore des crochets [].
Pour accèder au contenu d'une colonne on utilisera le nom de celle-ci et non son numéro d'index même si cela reste possible.
<?php
// ====================================================== //
// ================ TABLEAUX ASSOCIATIFS ================ //
// ====================================================== //
// Déclaration des deux tableaux associatifs
$tableau3 = array(
"fruit1" => "Pomme",
"fruit2" => "Poire",
"fruit3" => "Banane",
"fruit4" => "Fraise",
"fruit5" => "Framboise"
);
$tableau4 = [
"fruit1" => "Pomme",
"fruit2" => "Poire",
"fruit3" => "Banane",
"fruit4" => "Fraise",
"fruit5" => "Framboise"
];
// On affiche le contenu de la colonne "fruit1" du tableau3
echo $tableau3["fruit1"] . "<br>";
?>
Manipuler les tableaux
On peut manipuler les tableaux en ajoutant de nouvelles colonnes ou bien encore en supprimant.
Ajouter une colonne
Pour ajouter une colonne dans un tableaux indexé ou encore un tableau associatif, procéder comme suit :
<?php
// ====================================================== //
// ================= AJOUTER UNE COLONNE ================ //
// ====================================================== //
// On ajoute un fruit dans le tableau indexé $tableau1
$tableau1[] = "Kiwi";
// On ajoute un fruit dans le tableau associatif $tableau3
$tableau3["fruit6"] = "Kiwi";
?>
Supprimer une colonne
En php, pour supprimer une entrée d'un tableau on peut utiliser la fonction native unset, on peut également utiliser la fonction native array_splice qui permet de supprimer plusieurs colonnes comme l'illustre les exemples ci-dessous :
<?php
// ====================================================== //
// ================ SUPPRIMER UNE COLONNE =============== //
// ====================================================== //
// On supprime la colonne contenant le mot "banane" du tableau indexé $tableau1
unset($tableau1[2]);
// On affiche le tableau modifié
print_r($tableau1);
echo "<br>";
// On supprime la colonne contenant le mot "banane" du tableau associatif $tableau3
unset($tableau3["fruit3"]);
// On affiche le tableau modifié
print_r($tableau3);
echo "<br>";
// On supprime les colonnes contenant les mots "poire" et "banane" du tableau associatif $tableau2
array_splice($tableau2, 1, 2);// Les trois paramètres sont : le tableau, l'index de départ, le nombre de colonnes à supprimer
// On affiche le tableau modifié
print_r($tableau2);
echo "<br>";
// On ajoute le mot cerise à l'index 1 du tableau $tableau2
array_splice($tableau2, 1, 0, "Cerise");// Les quatre paramètres sont : le tableau, l'index de départ, le nombre de colonnes à supprimer, le mot à ajouter
?>
Comme évoqué dans le code précédent, on peut également utiliser la fonction array_splice pour ajouter une valeur à un index défini.
Il est à noté également que la fonction unset peut également servir à supprimer plusieurs colonnes simultanément, il suffit pour cela d'énumérer les colonnes concernées.
<?php
$tableau5 = array("Pomme", "Poire", "Banane", "Fraise", "Framboise");
unset($tableau5[2], $tableau5[3]); // On supprime les colonnes contenant les mots "banane" et "fraise"
// On affiche le tableau modifié
print_r($tableau5);
?>
Tester tout ça avec le fichier source du cours.
Maintenant que nous savons déclarer et manipuler des tableaux, il est intérressant de les utiliser à l'aide des boucles.
Tutos du jour
Les dates en PHP
La manipulation des dates pour le web revêt un caractère fondamentale.
Voir le tuto