Les tableaux en PHP sont l’un des éléments les plus fondamentaux et les plus puissants en PHP. Ils permettent de stocker et de manipuler des ensembles de données de manière efficace. Que vous soyez débutant ou développeur expérimenté, comprendre comment utiliser les tableaux en PHP est essentiel. Dans ce guide complet, nous allons explorer en profondeur les tableaux , en commençant par les bases et en progressant vers des techniques plus avancées.
Un tableau est une structure de données qui peut contenir une collection de valeurs, appelées éléments, indexées par des clés. Ces éléments peuvent être de différents types de données tels que des entiers, des chaînes de caractères, d’autres tableaux, etc. Les tableaux peuvent être unidimensionnels, multidimensionnels ou associatifs.
En PHP, il existe plusieurs façons de créer des tableaux. Voici quelques exemples :
$tableau = array("valeur1", "valeur2", "valeur3");
$tableau_assoc = array("clé1" => "valeur1", "clé2" => "valeur2");
$tableau_multi = array(
array("valeur1", "valeur2"),
array("valeur3", "valeur4")
);
Pour accéder aux éléments d’un tableau en PHP, vous pouvez utiliser les index ou les clés associatives, selon le type de tableau.
// Accès à un élément d'un tableau indiciel
echo $tableau[0]; // Affichera "valeur1"
// Accès à un élément d'un tableau associatif
echo $tableau_assoc["clé1"]; // Affichera "valeur1"
// Accès à un élément d'un tableau multidimensionnel
echo $tableau_multi[1][0]; // Affichera "valeur3"
PHP offre plusieurs méthodes pour parcourir les éléments d’un tableau :
La boucle foreach
est couramment utilisée pour parcourir les tableaux en PHP.
foreach ($tableau as $valeur) {
echo $valeur . "<br>";
}
La boucle for
peut également être utilisée pour parcourir les tableaux indiciels.
for ($i = 0; $i < count($tableau); $i++) {
echo $tableau[$i] . "<br>";
}
PHP offre de nombreuses fonctions intégrées pour manipuler les tableaux. Voici quelques-unes des opérations les plus courantes :
array_push()
, []
, etc.unset()
, array_pop()
, etc.array_merge()
, +
, etc.in_array()
, array_search()
, etc.Voici quelques exemples d’application utilisant des tableaux en PHP avec du code :
// Tableau associatif pour stocker les informations d'un utilisateur
$utilisateur = array(
"nom" => "Jean",
"prenom" => "Dupont",
"age" => 30,
"ville" => "Paris"
);
// Affichage des informations de l'utilisateur
echo "Nom complet : " . $utilisateur["prenom"] . " " . $utilisateur["nom"] . "<br>";
echo "Âge : " . $utilisateur["age"] . "<br>";
echo "Ville : " . $utilisateur["ville"];
// Tableau de notes
$notes = array(12, 15, 17, 10, 14);
// Calcul de la somme des notes
$somme = 0;
foreach ($notes as $note) {
$somme += $note;
}
// Calcul de la moyenne
$moyenne = $somme / count($notes);
echo "La moyenne des notes est : " . $moyenne;
// Tableau des étudiants avec leurs âges
$etudiants = array(
array("nom" => "Alice", "age" => 20),
array("nom" => "Bob", "age" => 22),
array("nom" => "Charlie", "age" => 18),
array("nom" => "David", "age" => 25)
);
// Filtrage des étudiants majeurs
$majeurs = array();
foreach ($etudiants as $etudiant) {
if ($etudiant["age"] >= 18) {
$majeurs[] = $etudiant;
}
}
// Affichage des étudiants majeurs
echo "Étudiants majeurs : <br>";
foreach ($majeurs as $etudiant) {
echo $etudiant["nom"] . " (" . $etudiant["age"] . " ans)<br>";
}
Ces exemples illustrent quelques utilisations pratiques des tableaux en PHP, notamment pour stocker des informations structurées, effectuer des calculs et filtrer des données en fonction de certains critères.
Voici quelques cas particuliers illustrant des situations spécifiques dans lesquelles les tableaux peuvent être utilisés de manière intéressante :
Supposons que vous avez un formulaire HTML avec plusieurs champs d’options, comme des menus déroulants ou des cases à cocher. Vous pouvez stocker ces options dans un tableau en PHP et les utiliser pour générer dynamiquement le formulaire.
$options = array(
"pays" => array("France", "Espagne", "Italie", "Allemagne"),
"couleur" => array("Rouge", "Vert", "Bleu"),
"taille" => array("Petit", "Moyen", "Grand")
);
foreach ($options as $nom => $valeurs) {
echo "<select name='$nom'>";
foreach ($valeurs as $valeur) {
echo "<option value='$valeur'>$valeur</option>";
}
echo "</select><br>";
}
Dans un site web multilingue, vous pouvez stocker les chaînes de texte traduites dans un tableau associatif en PHP, où les clés sont les chaînes originales et les valeurs sont les traductions dans différentes langues.
$traductions = array(
"accueil" => array(
"fr" => "Accueil",
"en" => "Home",
"es" => "Inicio"
),
"a_propos" => array(
"fr" => "À propos",
"en" => "About",
"es" => "Acerca de"
),
// Autres traductions...
);
$langue_utilisateur = "fr"; // Langue de l'utilisateur (déterminée dynamiquement)
// Affichage du menu de navigation avec les traductions
echo "<ul>";
echo "<li>" . $traductions["accueil"][$langue_utilisateur] . "</li>";
echo "<li>" . $traductions["a_propos"][$langue_utilisateur] . "</li>";
// Autres éléments du menu...
echo "</ul>";
Supposons que vous avez un catalogue en ligne avec différents produits. Vous pouvez stocker les détails de chaque produit dans un tableau multidimensionnel en PHP.
$produits = array(
array("nom" => "T-shirt", "prix" => 20, "couleur" => "Bleu"),
array("nom" => "Pantalon", "prix" => 30, "couleur" => "Noir"),
array("nom" => "Chaussures", "prix" => 50, "couleur" => "Marron")
);
// Affichage des produits
foreach ($produits as $produit) {
echo "<div>";
echo "<h2>" . $produit["nom"] . "</h2>";
echo "<p>Prix : $" . $produit["prix"] . "</p>";
echo "<p>Couleur : " . $produit["couleur"] . "</p>";
echo "</div>";
}
Ces cas particuliers démontrent la polyvalence des tableaux en PHP dans divers contextes, de la gestion de données de formulaire à la traduction de contenu en passant par la gestion de produits dans un catalogue en ligne.
Énoncé : Créez un tableau contenant les noms des mois de l’année et affichez-les.
Solution :
// Création du tableau des mois
$mois = array("Janvier", "Février", "Mars", "Avril", "Mai", "Juin", "Juillet", "Août", "Septembre", "Octobre", "Novembre", "Décembre");
// Affichage des mois
foreach ($mois as $m) {
echo $m . "<br>";
}
Énoncé : Créez un tableau de nombres entiers et calculez la somme de ses éléments.
Solution :
// Tableau de nombres
$nombres = array(10, 20, 30, 40, 50);
// Calcul de la somme
$somme = array_sum($nombres);
echo "La somme des nombres est : " . $somme;
Énoncé : Trouvez et affichez l’élément maximum dans un tableau de nombres.
Solution :
// Tableau de nombres
$nombres = array(15, 25, 10, 35, 20);
// Recherche de l'élément maximum
$max = max($nombres);
echo "L'élément maximum dans le tableau est : " . $max;
Énoncé : Fusionnez deux tableaux de couleurs en un seul et affichez le résultat.
Solution :
// Tableaux de couleurs
$couleurs1 = array("Rouge", "Vert", "Bleu");
$couleurs2 = array("Jaune", "Orange", "Violet");
// Fusion des tableaux
$couleurs = array_merge($couleurs1, $couleurs2);
// Affichage des couleurs fusionnées
foreach ($couleurs as $c) {
echo $c . "<br>";
}
Énoncé : Supprimez le deuxième élément d’un tableau de fruits et affichez le tableau résultant.
Solution :
// Tableau de fruits
$fruits = array("Pomme", "Banane", "Orange", "Fraise");
// Suppression du deuxième élément
unset($fruits[1]);
// Réindexation du tableau
$fruits = array_values($fruits);
// Affichage du tableau résultant
foreach ($fruits as $fruit) {
echo $fruit . "<br>";
}
Énoncé : Vérifiez si “Pomme” existe dans un tableau de fruits et affichez un message approprié.
Solution :
// Tableau de fruits
$fruits = array("Banane", "Orange", "Pomme", "Fraise");
// Vérification de la présence de "Pomme"
if (in_array("Pomme", $fruits)) {
echo "La pomme est dans le panier !";
} else {
echo "La pomme n'est pas dans le panier.";
}
Énoncé : Inversez l’ordre des éléments dans un tableau de nombres et affichez le résultat.
Solution :
// Tableau de nombres
$nombres = array(1, 2, 3, 4, 5);
// Inversion de l'ordre des éléments
$nombres_inverse = array_reverse($nombres);
// Affichage du tableau inversé
foreach ($nombres_inverse as $n) {
echo $n . "<br>";
}
Énoncé : Extrayez les trois premiers éléments d’un tableau de lettres et affichez-les.
Solution :
// Tableau de lettres
$lettres = array("A", "B", "C", "D", "E", "F");
// Extraction des trois premiers éléments
$lettres_extraits = array_slice($lettres, 0, 3);
// Affichage des lettres extraites
foreach ($lettres_extraits as $lettre) {
echo $lettre . "<br>";
}
Énoncé : Comptez le nombre d’occurrences de “Rouge” dans un tableau de couleurs et affichez-le.
Solution :
// Tableau de couleurs
$couleurs = array("Rouge", "Vert", "Bleu", "Rouge", "Jaune", "Rouge");
// Comptage des occurrences de "Rouge"
$occurrences_rouge = array_count_values($couleurs)["Rouge"];
echo "Nombre d'occurrences de Rouge : " . $occurrences_rouge;
Énoncé : Vérifiez si deux tableaux de fruits sont identiques et affichez un message approprié.
Solution :
// Tableaux de fruits
$panier1 = array("Pomme", "Banane", "Orange");
$panier2 = array("Pomme", "Banane", "Orange");
// Vérification de la similitude des paniers
if ($panier1 == $panier2) {
echo "Les paniers sont identiques !";
} else {
echo "Les paniers sont différents.";
}
Ces exercices fournissent une gamme d’activités pour pratiquer la manipulation des tableaux en PHP, couvrant des opérations telles que la création, la modification, le filtrage et l’analyse de tableaux.
Énoncé : Fusionnez deux tableaux multidimensionnels contenant des informations sur des produits, en vérifiant les doublons par l’ID du produit.
Solution :
// Tableaux de produits
$produits1 = array(
array("id" => 1, "nom" => "T-shirt", "prix" => 20),
array("id" => 2, "nom" => "Pantalon", "prix" => 30),
);
$produits2 = array(
array("id" => 2, "nom" => "Pantalon", "prix" => 30),
array("id" => 3, "nom" => "Chaussures", "prix" => 50),
);
// Fusion des tableaux
$produits_fusionnes = array_replace_recursive($produits1, $produits2);
// Affichage des produits fusionnés
foreach ($produits_fusionnes as $produit) {
echo "ID : " . $produit["id"] . ", Nom : " . $produit["nom"] . ", Prix : $" . $produit["prix"] . "<br>";
}
Énoncé : À partir d’un tableau associatif de produits contenant un prix, un nom et une quantité, filtrez les produits ayant un prix supérieur à 50.
Solution :
// Tableau associatif de produits
$produits = array(
array("nom" => "T-shirt", "prix" => 20, "quantite" => 10),
array("nom" => "Pantalon", "prix" => 60, "quantite" => 5),
array("nom" => "Chaussures", "prix" => 80, "quantite" => 3),
);
// Filtrage des produits avec un prix supérieur à 50
$produits_filtres = array_filter($produits, function($produit) {
return $produit["prix"] > 50;
});
// Affichage des produits filtrés
foreach ($produits_filtres as $produit) {
echo "Nom : " . $produit["nom"] . ", Prix : $" . $produit["prix"] . ", Quantité : " . $produit["quantite"] . "<br>";
}
Énoncé : Triez un tableau multidimensionnel de produits par ordre décroissant de prix.
Solution :
// Tableau multidimensionnel de produits
$produits = array(
array("nom" => "T-shirt", "prix" => 20),
array("nom" => "Pantalon", "prix" => 60),
array("nom" => "Chaussures", "prix" => 40),
);
// Fonction de comparaison pour le tri par prix
function comparer_prix($a, $b) {
return $b["prix"] - $a["prix"];
}
// Tri des produits par prix décroissant
usort($produits, "comparer_prix");
// Affichage des produits triés
foreach ($produits as $produit) {
echo "Nom : " . $produit["nom"] . ", Prix : $" . $produit["prix"] . "<br>";
}
Énoncé : À partir d’un tableau de noms, créez un tableau de fréquences indiquant combien de fois chaque nom apparaît.
Solution :
// Tableau de noms
$noms = array("Alice", "Bob", "Alice", "Charlie", "Alice", "David", "Bob");
// Création du tableau de fréquences
$frequences = array_count_values($noms);
// Affichage des fréquences
foreach ($frequences as $nom => $frequence) {
echo $nom . " : " . $frequence . "<br>";
}
Énoncé : Supprimez les éléments dupliqués d’un tableau multidimensionnel en se basant sur la valeur d’une clé spécifique.
Solution :
// Tableau multidimensionnel avec des doublons
$donnees = array(
array("id" => 1, "nom" => "Alice"),
array("id" => 2, "nom" => "Bob"),
array("id" => 3, "nom" => "Alice"),
);
// Suppression des doublons en se basant sur la clé "nom"
$resultat = array_map("unserialize", array_unique(array_map("serialize", $donnees)));
// Affichage du résultat
foreach ($resultat as $element) {
echo "ID : " . $element["id"] . ", Nom : " . $element["nom"] . "<br>";
}
Ces exercices avancés mettent en lumière des techniques plus avancées pour manipuler et travailler avec des tableaux en PHP, notamment la fusion de tableaux multidimensionnels, le filtrage, le tri, la génération de tableaux de fréquences et la suppression des doublons.
Les tableaux en PHP sont des outils puissants pour stocker et manipuler des données. Comprendre comment créer, accéder et manipuler des tableaux est essentiel pour tout développeur PHP. Ce guide complet a couvert les bases ainsi que des techniques plus avancées pour travailler avec des tableaux en PHP. En pratiquant régulièrement et en explorant les fonctions natives de PHP, vous pourrez exploiter pleinement la puissance des tableaux dans vos projets PHP.
Voici quelques questions fréquemment posées par les internautes concernant les tableaux en PHP :
Les internautes peuvent utiliser des méthodes telles que array_push()
ou l’utilisation de la notation des crochets []
pour ajouter de nouveaux éléments à un tableau existant.
Les utilisateurs peuvent chercher des méthodes telles que unset()
pour supprimer un élément en fonction de son index, ou array_splice()
pour supprimer un segment d’un tableau.
Autres questions
Les écarts sur charges fixes permettent d'analyser les différences entre les charges fixes budgétées et…
L’écart-type est une mesure de la dispersion des données autour de la moyenne. Excel propose…
Exercice 1 : Calcul des Écarts sur Volume et Prix Contexte :Une entreprise a prévu…
1. Généralités sur le Contrôle Budgétaire Question 1 : Quel est l’objectif principal du contrôle…
Voici un QCM Contrôle de Gestion - Pilotage de la Performance bien conçu sur le…
Une fiche d’action est un outil essentiel pour planifier, suivre et gérer les tâches dans…
This website uses cookies.