Menu
Coddy logo textTech

Clés avec 'array_search'

Fait partie de la section Logique & Flux du Journey PHP de Coddy — leçon 18 sur 68.

Alors que in_array() vous indique si une valeur existe dans un tableau, vous avez parfois besoin de savoir exactement cette valeur se situe. La fonction array_search() recherche une valeur spécifique dans un tableau et retourne sa clé ou son index correspondant.

Voici comment cela fonctionne :

<?php
$players = ["Alice", "Bob", "Charlie", "Diana"];
$position = array_search("Charlie", $players);
echo $position;  // Affiche : 2
?>

La fonction prend deux paramètres : la valeur que vous recherchez et le tableau dans lequel effectuer la recherche. Lorsque la valeur est trouvée, array_search() retourne la clé (pour les tableaux indexés, il s'agit de la position numérique commençant à 0).

Cependant, il existe une distinction importante dans ce qui est renvoyé. Si la valeur est trouvée, vous obtenez la clé. Si la valeur n'est pas trouvée, la fonction renvoie false :

<?php
$scores = [95, 87, 92, 78];
$found = array_search(92, $scores);    // Retourne : 2
$notFound = array_search(100, $scores); // Retourne : false
?>

Cette fonction est particulièrement utile lorsque vous devez déterminer la position ou le classement d'un élément, par exemple pour trouver le rang d'un joueur dans un classement ou localiser l'index d'un élément spécifique pour un traitement ultérieur.

quiz iconTestez-vous

Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.

quiz iconTestez-vous

Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.

quiz iconTestez-vous

Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.

challenge icon

Défi

Facile

Vous recevrez deux entrées : un tableau de noms de produits au format JSON et un nom de produit à rechercher. Lisez les deux entrées, convertissez la chaîne JSON en un tableau, utilisez array_search() pour trouver la position du produit dans le tableau, et affichez le résultat. Si le produit est trouvé, affichez sa position d'index. Si le produit n'est pas trouvé, affichez "Product not found".

Format d'entrée : Deux lignes - la première ligne contient un tableau JSON (exemple : ["laptop","mouse","keyboard","monitor"]), la deuxième ligne contient le nom du produit à rechercher

Résultat attendu : Soit la position d'index numérique du produit (en commençant par 0), soit le texte "Product not found" si le produit n'existe pas dans le tableau

Aide-mémoire

La fonction array_search() recherche une valeur spécifique dans un tableau et renvoie sa clé ou son index correspondant :

<?php
$players = ["Alice", "Bob", "Charlie", "Diana"];
$position = array_search("Charlie", $players);
echo $position;  // Affiche : 2
?>

La fonction prend deux paramètres : la valeur que vous recherchez et le tableau dans lequel effectuer la recherche. Elle renvoie la clé si elle est trouvée, ou false si elle n'est pas trouvée :

<?php
$scores = [95, 87, 92, 78];
$found = array_search(92, $scores);    // Retourne : 2
$notFound = array_search(100, $scores); // Retourne : false
?>

Essayez vous-même

<?php
// Lire l'entrée du tableau JSON
$jsonInput = fgets(STDIN);
$products = (array)json_decode($jsonInput, true);

// Lire le nom du produit à rechercher
$searchProduct = trim(fgets(STDIN));

// TODO: Écrivez votre code ci-dessous
// Utilisez array_search() pour trouver la position du produit


// Afficher le résultat
echo $result;
?>
quiz iconTestez-vous

Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.

Toutes les leçons de Logique & Flux