Cet article explore des exercices corrigés de la fonction in_array() en PHP👇
in_array()
en PHPLa fonction in_array()
en PHP est utilisée pour vérifier si une valeur spécifique existe dans un tableau. Elle est souvent employée pour effectuer des vérifications conditionnelles dans les données stockées sous forme de tableaux.
Syntaxe :
bool in_array ( mixed $needle , array $haystack [, bool $strict = FALSE ] )
in_array()
vérifiera également que les types de la valeur $needle
et des éléments du tableau $haystack
correspondent.Avant de passer aux exercices, examinons quelques exemples simples :
Exemple 1 : Recherche simple
$fruits = ["apple", "banana", "cherry"];
if (in_array("banana", $fruits)) {
echo "Banana is found!";
}
Cet exemple affiche “Banana is found!” puisque “banana” est présent dans le tableau.
Exemple 2 : Recherche avec strict
$numbers = [1, 2, "3", 4];
if (in_array("3", $numbers, true)) {
echo "String '3' is found!";
} else {
echo "String '3' is not found!";
}
Cet exemple affiche “String ‘3’ is not found!” car bien que ‘3’ soit présent, il est sous forme de chaîne et la recherche est stricte sur le type.
Exercice 1 : Trouver un élément dans un tableau multidimensionnel
Considérons le tableau suivant :
$products = [
["name" => "laptop", "price" => 800],
["name" => "phone", "price" => 300]
];
Question : Vérifiez si un produit nommé “phone” existe dans le tableau.
Solution :
$found = false;
foreach ($products as $product) {
if (in_array("phone", $product)) {
$found = true;
break;
}
}
echo $found ? "Phone is found!" : "Phone is not found!";
Exercice 2 : Sensibilité à la casse
Question : Recherchez “PHONE” dans le tableau ["phone", "laptop"]
, sans tenir compte de la casse.
Solution :
$items = ["phone", "laptop"];
$search = "PHONE";
$found = false;
foreach ($items as $item) {
if (strtolower($search) == strtolower($item)) {
$found = true;
break;
}
}
echo $found ? "PHONE is found!" : "PHONE is not found!";
Voici une série d’exercices en PHP axée autour de la gestion des couleurs avec la fonction in_array()
. Ces exercices vont permettre de renforcer la compréhension de cette fonction en utilisant des situations concrètes et courantes en programmation.
Énoncé :
Vous avez un tableau de couleurs ["red", "blue", "green", "yellow"]
. Vérifiez si la couleur “blue” est présente dans le tableau.
Code à compléter :
$colors = ["red", "blue", "green", "yellow"];
// Ajoutez votre code ici
Énoncé :
À partir du tableau ["red", "blue", "green"]
, demandez à l’utilisateur d’entrer une couleur. Ajoutez cette couleur au tableau uniquement si elle n’est pas déjà présente. Affichez le tableau final.
Code à compléter :
$colors = ["red", "blue", "green"];
$newColor = readline("Enter a new color: ");
// Ajoutez votre code ici
Énoncé :
Vous avez deux tableaux, ["red", "green", "blue"]
et ["yellow", "green", "pink"]
. Fusionnez ces deux tableaux en un seul mais assurez-vous qu’il n’y ait pas de doublons.
Code à compléter :
$colors1 = ["red", "green", "blue"];
$colors2 = ["yellow", "green", "pink"];
$combinedColors = [];
// Ajoutez votre code ici
Énoncé :
Avec le tableau ["Red", "Green", "Blue", "Yellow"]
, vérifiez si la couleur “red” est présente, sans tenir compte de la casse.
Code à compléter :
$colors = ["Red", "Green", "Blue", "Yellow"];
$searchColor = "red";
// Ajoutez votre code ici
Énoncé :
Dans le tableau ["1", "2", "3", "4", "5"]
, vérifiez si le nombre 3 est présent. Utilisez d’abord la recherche non stricte, puis la stricte.
Code à compléter :
$numbers = ["1", "2", "3", "4", "5"];
$needle = 3;
// Ajoutez votre code ici pour la recherche non stricte
// Ajoutez votre code ici pour la recherche stricte
Ces exercices fournissent une base pratique pour manipuler et comprendre les nuances de la fonction in_array()
en PHP, en particulier avec des manipulations de tableaux communes et utiles dans le développement de logiciels.
Voici les solutions pour chaque exercice proposé, permettant de manipuler la fonction in_array()
en PHP pour divers scénarios autour de la gestion des couleurs.
$colors = ["red", "blue", "green", "yellow"];
if (in_array("blue", $colors)) {
echo "Blue is in the array.";
} else {
echo "Blue is not in the array.";
}
$colors = ["red", "blue", "green"];
$newColor = readline("Enter a new color: ");
if (!in_array($newColor, $colors)) {
$colors[] = $newColor; // Ajoute la nouvelle couleur si elle n'est pas déjà présente
}
print_r($colors); // Affiche le tableau final
$colors1 = ["red", "green", "blue"];
$colors2 = ["yellow", "green", "pink"];
$combinedColors = $colors1; // Commence avec les couleurs du premier tableau
foreach ($colors2 as $color) {
if (!in_array($color, $combinedColors)) {
$combinedColors[] = $color; // Ajoute seulement si la couleur n'est pas déjà présente
}
}
print_r($combinedColors); // Affiche le tableau combiné sans doublons
$colors = ["Red", "Green", "Blue", "Yellow"];
$searchColor = "red";
$found = false;
foreach ($colors as $color) {
if (strtolower($color) == strtolower($searchColor)) {
$found = true;
break;
}
}
echo $found ? "Color found." : "Color not found.";
$numbers = ["1", "2", "3", "4", "5"];
$needle = 3;
// Recherche non stricte
if (in_array($needle, $numbers)) {
echo "3 is found (non-strict).";
} else {
echo "3 is not found (non-strict).";
}
echo "\n";
// Recherche stricte
if (in_array($needle, $numbers, true)) {
echo "3 is found (strict).";
} else {
echo "3 is not found (strict).";
}
Ces solutions illustrent diverses utilisations de la fonction in_array()
en PHP, depuis la gestion de tableaux simples jusqu’à des scénarios plus complexes nécessitant des contrôles supplémentaires sur la sensibilité à la casse ou la stricte égalité de type.
Voici une série d’exercices avancés en PHP utilisant la fonction in_array()
pour gérer des cas particuliers. Ces exercices sont conçus pour explorer des situations plus complexes, souvent rencontrées dans des contextes réels de développement.
Énoncé :
Vous disposez d’un tableau associatif où chaque clé représente un identifiant de produit et chaque valeur est un tableau contenant des informations sur le produit (nom, prix, couleur). Vérifiez si un produit de couleur “noir” existe dans le tableau.
Tableau :
$products = [
"p001" => ["name" => "Chaise", "price" => 45, "color" => "rouge"],
"p002" => ["name" => "Table", "price" => 150, "color" => "noir"],
"p003" => ["name" => "Lampe", "price" => 22, "color" => "blanc"]
];
Code à compléter :
// Ajoutez votre code ici
Énoncé :
Dans le tableau suivant, vérifiez si le nombre 42 est présent. Testez d’abord sans l’option stricte, puis avec l’option stricte.
Tableau :
$numbers = [42, "42", 420];
Code à compléter :
// Ajoutez votre code ici pour la recherche non stricte
// Ajoutez votre code ici pour la recherche stricte
Énoncé :
Vérifiez si une sous-chaîne est présente dans l’un des éléments d’un tableau de chaînes. Par exemple, vérifiez si le mot “art” est présent dans un tableau de noms d’articles.
Tableau :
$items = ["Smartphone", "Carte", "Charger", "Batterie"];
Code à compléter :
$substring = "art";
// Ajoutez votre code ici
Énoncé :
Vous avez un tableau multi-dimensionnel représentant des étudiants et leurs notes. Vérifiez si un étudiant a obtenu au moins une note égale à 20.
Tableau :
$students = [
["name" => "Alice", "grades" => [12, 18, 20]],
["name" => "Bob", "grades" => [10, 14, 17]],
["name" => "Clara", "grades" => [19, 20, 15]]
];
Code à compléter :
// Ajoutez votre code ici
Énoncé :
Considérant un tableau contenant des instances d’une classe Color
, où chaque instance représente une couleur spécifique, vérifiez si une instance de couleur spécifique (par exemple, une nouvelle instance de “red”) existe dans le tableau.
Classe :
class Color {
public $color;
public function __construct($color) {
$this->color = $color;
}
}
$colors = [new Color("red"), new Color("blue"), new Color("green")];
$searchColor = new Color("red");
Code à compléter :
// Ajoutez votre code ici
Ces exercices mettent en lumière diverses utilisations de in_array()
en PHP, tout en abordant des scénarios où les données ne sont pas simples ou linéaires. Ils offrent une excellente pratique pour manipuler des données complexes et développer des solutions robustes.
Voici les solutions pour les exercices avancés proposés utilisant la fonction in_array()
en PHP pour gérer des cas particuliers.
$products = [
"p001" => ["name" => "Chaise", "price" => 45, "color" => "rouge"],
"p002" => ["name" => "Table", "price" => 150, "color" => "noir"],
"p003" => ["name" => "Lampe", "price" => 22, "color" => "blanc"]
];
$found = false;
foreach ($products as $product) {
if ($product["color"] === "noir") {
$found = true;
break;
}
}
echo $found ? "Produit de couleur noir trouvé." : "Aucun produit de couleur noir trouvé.";
$numbers = [42, "42", 420];
// Recherche non stricte
if (in_array(42, $numbers)) {
echo "42 is found (non-strict).\n";
} else {
echo "42 is not found (non-strict).\n";
}
// Recherche stricte
if (in_array(42, $numbers, true)) {
echo "42 is found (strict).\n";
} else {
echo "42 is not found (strict).\n";
}
$items = ["Smartphone", "Carte", "Charger", "Batterie"];
$substring = "art";
$found = false;
foreach ($items as $item) {
if (strpos(strtolower($item), strtolower($substring)) !== false) {
$found = true;
break;
}
}
echo $found ? "Sub-string 'art' is found." : "Sub-string 'art' is not found.";
$students = [
["name" => "Alice", "grades" => [12, 18, 20]],
["name" => "Bob", "grades" => [10, 14, 17]],
["name" => "Clara", "grades" => [19, 20, 15]]
];
$found = false;
foreach ($students as $student) {
if (in_array(20, $student["grades"])) {
$found = true;
break;
}
}
echo $found ? "At least one student has a grade of 20." : "No student has a grade of 20.";
class Color {
public $color;
public function __construct($color) {
$this->color = $color;
}
// Custom equality check since in_array uses ==
public function equals(Color $other) {
return $this->color === $other->color;
}
}
$colors = [new Color("red"), new Color("blue"), new Color("green")];
$searchColor = new Color("red");
$found = false;
foreach ($colors as $color) {
if ($color->equals($searchColor)) {
$found = true;
break;
}
}
echo $found ? "Color 'red' is found in the array." : "Color 'red' is not found in the array.";
Chaque solution traite un cas spécifique qui pourrait survenir en développement, en utilisant des techniques appropriées pour utiliser au mieux in_array()
ou d’autres fonctions PHP là où in_array()
pourrait ne pas suffire directement.
Voici deux ⭐ exercices avancés en PHP ⭐ qui mettent en pratique la manipulation de tableaux et la gestion des données complexes.
Énoncé :
Vous avez un tableau de produits, où chaque produit est représenté par un tableau associatif contenant des clés pour le nom (name
), le prix (price
), et les catégories (categories
) sous forme de tableau. Écrivez un script PHP pour trouver tous les produits dont le prix est supérieur à 50 euros et qui appartiennent à la catégorie “électronique”.
Tableau de produits :
$products = [
["name" => "Ordinateur", "price" => 799, "categories" => ["électronique", "ordinateurs"]],
["name" => "Chaise", "price" => 49, "categories" => ["mobilier"]],
["name" => "Montre", "price" => 199, "categories" => ["électronique", "accessoires"]],
["name" => "Livre", "price" => 15, "categories" => ["livres"]],
["name" => "Smartphone", "price" => 599, "categories" => ["électronique", "téléphones"]]
];
Code à compléter :
// Ajoutez votre code ici pour filtrer et afficher les produits selon les critères donnés.
Énoncé :
Vous développez un système de gestion de tickets pour un service de support technique. Chaque ticket est un tableau associatif avec des informations sur le client (client
), le problème (issue
), et le niveau de priorité (priority
). Les niveaux de priorité peuvent être “bas”, “moyen”, ou “élevé”. Écrivez un script PHP pour classer les tickets par ordre de priorité décroissante et affichez les résultats.
Tableau de tickets :
$tickets = [
["client" => "Alice", "issue" => "Problème de connexion", "priority" => "moyen"],
["client" => "Bob", "issue" => "Écran cassé", "priority" => "bas"],
["client" => "Clara", "issue" => "Perte de données", "priority" => "élevé"],
["client" => "David", "issue" => "Mise à jour échouée", "priority" => "moyen"]
];
Code à compléter :
// Ajoutez votre code ici pour trier et afficher les tickets par ordre de priorité décroissante.
Ces exercices permettent de manipuler des structures de données complexes et d’appliquer des critères de sélection et de tri spécifiques, simulant des scénarios réels rencontrés dans le développement d’applications en PHP.
Voici les solutions pour les deux exercices avancés proposés en PHP, qui impliquent la manipulation et le filtrage de données complexes dans des tableaux associatifs.
$products = [
["name" => "Ordinateur", "price" => 799, "categories" => ["électronique", "ordinateurs"]],
["name" => "Chaise", "price" => 49, "categories" => ["mobilier"]],
["name" => "Montre", "price" => 199, "categories" => ["électronique", "accessoires"]],
["name" => "Livre", "price" => 15, "categories" => ["livres"]],
["name" => "Smartphone", "price" => 599, "categories" => ["électronique", "téléphones"]]
];
$filteredProducts = array_filter($products, function ($product) {
return $product["price"] > 50 && in_array("électronique", $product["categories"]);
});
foreach ($filteredProducts as $product) {
echo "Produit : " . $product["name"] . ", Prix : " . $product["price"] . "€\n";
}
$tickets = [
["client" => "Alice", "issue" => "Problème de connexion", "priority" => "moyen"],
["client" => "Bob", "issue" => "Écran cassé", "priority" => "bas"],
["client" => "Clara", "issue" => "Perte de données", "priority" => "élevé"],
["client" => "David", "issue" => "Mise à jour échouée", "priority" => "moyen"]
];
usort($tickets, function ($a, $b) {
$priorities = ["bas" => 1, "moyen" => 2, "élevé" => 3];
return $priorities[$b["priority"]] <=> $priorities[$a["priority"]];
});
foreach ($tickets as $ticket) {
echo "Client : " . $ticket["client"] . ", Problème : " . $ticket["issue"] . ", Priorité : " . $ticket["priority"] . "\n";
}
Ces solutions démontrent comment filtrer et trier des données dans des tableaux associatifs en PHP. Le premier exercice utilise array_filter
pour extraire les produits répondant à certains critères, tandis que le second utilise usort
avec une fonction de comparaison personnalisée pour classer les tickets par priorité. Ces techniques sont utiles pour gérer efficacement les données dans des applications PHP.
Le commentaire composé est un exercice littéraire qui consiste à analyser un texte en respectant…
Les adjectifs liés en français sont les adjectifs qui s’accordent en genre (masculin/féminin) et en…
Voici une liste étendue de mots piégeux en français, avec leurs genres et des explications…
Apprendre à distinguer le genre des noms en français peut être un véritable défi pour…
1. Informations Générales Nom complet : Charles-Louis de Secondat, Baron de La Brède et de…
Introduction L’Art de la Guerre (Dell’arte della guerra), publié en 1521, est l’un des ouvrages…
This website uses cookies.