Maison  >  Article  >  développement back-end  >  Comment rechercher par clé = valeur dans un tableau multidimensionnel en PHP

Comment rechercher par clé = valeur dans un tableau multidimensionnel en PHP

PHPz
PHPzoriginal
2024-08-28 10:31:36845parcourir

How to Search by key=value in a Multidimensional Array in PHP

PHP (Hypertext Preprocessor) : PHP (Hypertext Preprocessor) est un langage de script open source côté serveur largement utilisé, spécialement conçu pour le développement Web. Il a été créé à l'origine par Rasmus Lerdorf en 1994 et est depuis devenu un langage puissant utilisé par des millions de développeurs dans le monde.

PHP est principalement utilisé pour développer des pages Web dynamiques et des applications Web. Il permet aux développeurs d'intégrer du code PHP dans HTML, ce qui facilite le mélange de la logique côté serveur avec la couche de présentation. Les scripts PHP sont exécutés sur le serveur et le HTML résultant est envoyé au navigateur du client.

En PHP, il existe plusieurs façons de rechercher une paire clé-valeur spécifique dans un tableau multidimensionnel.

Voici trois approches couramment utilisées :

  • Utiliser une boucle foreach

  • Utilisation de array_filter() et array_column()

  • Utilisation de array_search() avec array_column()

Utiliser une boucle foreach

Voici un exemple d'utilisation d'une boucle foreach pour rechercher une paire clé-valeur dans un tableau multidimensionnel en PHP :

<?php
$searchKey = 'key';
$searchValue = 'value';
$foundElement = null;
foreach ($array as $subarray) {
   if (isset($subarray[$searchKey]) && $subarray[$searchKey] === $searchValue) {
      $foundElement = $subarray;
         break;
   }
}
if ($foundElement !== null) {
   // Key-value pair found
   // Do something with $foundElement or the matching element
} else {
   // Key-value pair not found
   // Handle the case when the pair is not found
}
?>

Dans cet exemple, la boucle foreach parcourt chaque sous-tableau du tableau multidimensionnel. Il vérifie si la clé souhaitée existe dans le sous-tableau à l'aide d'isset() et si la valeur de cette clé correspond à la valeur de recherche. Si une correspondance est trouvée, la variable $foundElement se voit attribuer le sous-tableau et la boucle se termine par break.

Après la boucle, vous pouvez vérifier si $foundElement n'est pas nul pour déterminer si la paire clé-valeur a été trouvée. S'il n'est pas nul, vous pouvez effectuer des opérations avec $foundElement ou l'élément correspondant. S'il reste nul, vous pouvez gérer le cas où la paire n'est pas trouvée selon vos besoins.

Utilisation de array_filter() et array_column()

Voici un exemple d'utilisation de array_filter() et array_column() pour rechercher une paire clé-valeur dans un tableau multidimensionnel en PHP :

$searchKey = 'key';
$searchValue = 'value';
$result = array_filter($array, function ($subarray) use ($searchKey, $searchValue) {
    return isset($subarray[$searchKey]) && $subarray[$searchKey] === $searchValue;
});
if (!empty($result)) {
    // Key-value pair found
    // Do something with $result or the matching element(s)
} else {
    // Key-value pair not found
    // Handle the case when the pair is not found
}

Dans cet exemple, array_filter() est utilisé pour filtrer le $array en fonction d'une fonction de rappel. La fonction de rappel vérifie si chaque sous-tableau possède la clé souhaitée et si sa valeur correspondante correspond à la valeur de recherche. Si les conditions sont remplies, le sous-tableau est inclus dans le résultat filtré.

Après le filtrage, vous pouvez vérifier si le tableau de résultats $ n'est pas vide pour déterminer si la paire clé-valeur a été trouvée. S'il n'est pas vide, vous pouvez effectuer des opérations avec $result ou le(s) élément(s) correspondant(s). S'il est vide, vous pouvez gérer le cas où la paire n'est pas trouvée selon vos besoins.

Utilisation de array_search() avec array_column()

Voici un exemple d'utilisation de array_search() avec array_column() pour rechercher une paire clé-valeur dans un tableau multidimensionnel en PHP :

<?php
searchKey = 'key';
$searchValue = 'value';
$key = array_search($searchValue, array_column($array, $searchKey));
if ($key !== false) {
    // Key-value pair found
    // Do something with $array[$key] or the matching element
} else {
    // Key-value pair not found
    // Handle the case when the pair is not found
}
 
?>

Dans cet exemple, array_column() est utilisé pour extraire une seule colonne de valeurs basée sur la clé de recherche du tableau multidimensionnel $array. Le tableau résultant contient les valeurs de la clé spécifiée de chaque sous-tableau.

Ensuite, array_search() est utilisé pour trouver la position de la valeur souhaitée dans la colonne extraite. Si la paire clé-valeur est trouvée, array_search() renvoie la clé/index correspondant de l'élément correspondant. Si la paire n'est pas trouvée, array_search() renvoie false.

Vous pouvez vérifier si la clé $ renvoyée n'est pas égale à false pour déterminer si la paire clé-valeur a été trouvée. Si ce n'est pas faux, vous pouvez effectuer des opérations avec $array[$key] ou l'élément correspondant. Si c'est faux, vous pouvez gérer le cas où la paire n'est pas trouvée selon vos besoins.

Conclusion

Chaque approche a ses avantages et peut être plus adaptée en fonction de votre cas d'utilisation spécifique. Vous pouvez choisir celui qui correspond à vos besoins et à la structure de votre tableau multidimensionnel.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn