Maison > Article > développement back-end > Fonctions de tableau en PHP8 : diverses applications pratiques de array_search()
PHP est un langage de programmation largement utilisé dans le développement Web. Les différentes nouvelles fonctionnalités ajoutées dans sa dernière version, PHP8, ont beaucoup attiré l'attention des développeurs. L'une des caractéristiques importantes est l'amélioration des fonctions de tableau, parmi lesquelles la fonction array_search() est l'une des plus remarquables. Dans cet article, nous présenterons diverses applications pratiques de la fonction array_search() afin que chacun puisse mieux maîtriser cette fonction pratique.
1. Qu'est-ce que la fonction array_search() ?
Avant de comprendre les différentes applications de la fonction array_search(), nous devons d'abord comprendre ce qu'est cette fonction et à quoi elle sert. En termes simples, la fonction array_search() est utilisée pour trouver la position d'index de l'élément spécifié dans le tableau. Si elle est trouvée, elle renvoie la clé de l'élément dans le tableau, sinon elle renvoie false.
Cette fonction a la syntaxe de base suivante :
array_search($search, $array, $strict)
Parmi eux, $search est l'élément à trouver, $array est le tableau à trouver, $strict est un paramètre facultatif, utilisé pour contrôler s'il faut effectuer le "mode strict" " (c'est-à-dire paramètre Les types doivent correspondre exactement). La fonction renvoie deux résultats : si la recherche réussit, la clé de l'élément du tableau est renvoyée, sinon false est renvoyée.
Ensuite, nous présenterons une variété de scénarios d'application pratiques afin que chacun puisse mieux comprendre la fonction array_search().
2. Supprimer les éléments spécifiés d'un tableau
Parfois, nous devons supprimer les éléments spécifiés d'un tableau. Dans ce cas, nous pouvons utiliser la fonction array_search() pour trouver la position d'index de l'élément à supprimer, puis utiliser la fonction array_splice() pour le supprimer du tableau.
L'exemple de code est le suivant :
$arr = array('a', 'b', 'c', 'd', 'e'); $search = 'c'; $key = array_search($search, $arr); if ($key !== false) { // 判断是否查找到了指定元素 array_splice($arr, $key, 1); } print_r($arr);
Après l'exécution du code ci-dessus, le résultat de sortie est le suivant :
Array ( [0] => a [1] => b [2] => d [3] => e )
Comme vous pouvez le voir, l'élément « c » du tableau a été supprimé. Cette méthode convient aux situations où vous devez « supprimer rapidement » un élément du tableau, car elle fonctionne directement à l'intérieur du tableau et ne nécessite pas de copier l'intégralité du tableau.
3. Vérifiez si le tableau contient l'élément spécifié
Pendant le processus de développement, nous devons parfois vérifier si un tableau contient l'élément spécifié. La fonction array_search() peut nous aider à accomplir cette tâche. Voici un exemple :
$arr = array('apple', 'banana', 'pear', 'grape'); $search = 'apple'; $key = array_search($search, $arr); if ($key !== false) { echo 'The fruit "' . $search . '" exists in the array.' . '<br>'; } else { echo 'The fruit "' . $search . '" does not exist in the array.' . '<br>'; }
Ici, nous définissons d'abord un tableau contenant les noms de quatre fruits. Ensuite, nous définissons une variable $search et utilisons la fonction array_search() pour trouver l'élément dans le tableau. Enfin, nous utilisons une instruction if pour vérifier la valeur de la variable $search, si elle n'est pas fausse, cela signifie que l'élément est présent dans le tableau.
4. Rechercher des éléments correspondants dans un tableau à deux dimensions
La fonction array_search() est très utile lors de la recherche d'un tableau à une dimension, mais elle est un peu plus compliquée lors de la recherche d'un tableau à deux dimensions. Dans ce cas, nous pouvons utiliser une boucle foreach pour rechercher chaque élément du tableau, puis utiliser la fonction array_search() pour trouver l'élément spécifié.
Ce qui suit est un exemple de code impliquant un tableau à deux dimensions :
$array = array( array('name' => 'Alice', 'age' => 22), array('name' => 'Bob', 'age' => 23), array('name' => 'Charlie', 'age' => 24) ); $search = 'Bob'; foreach ($array as $key => $value) { if (array_search($search, $value)) { echo 'The person named ' . $search . ' exists in the array.' . '<br>'; } else { echo 'The person named ' . $search . ' does not exist in the array.' . '<br>'; } }
Ici, nous définissons un tableau à deux dimensions qui contient les noms de trois personnes ("Alice", "Bob" et "Charlie") et leur âge . Nous utilisons ensuite une boucle foreach pour rechercher chaque élément du tableau. Dans la boucle, nous utilisons la fonction array_search() pour trouver le nom de la personne spécifiée et si une correspondance est trouvée, afficher un message sur la page Web, sinon afficher un autre message.
5. Rechercher des éléments correspondants dans plusieurs tableaux
Si nous devons rechercher des éléments correspondants dans plusieurs tableaux, la fonction array_search() peut également nous aider à accomplir cette tâche. Voici un exemple :
$array1 = array('a', 'b', 'c'); $array2 = array('d', 'e', 'f'); $array3 = array('g', 'h', 'i'); $search = 'c'; $found = false; foreach (array($array1, $array2, $array3) as $array) { if (array_search($search, $array)) { $found = true; break; } } if ($found) { echo 'The element "' . $search . '" exists in one of the arrays.' . '<br>'; } else { echo 'The element "' . $search . '" does not exist in any of the arrays.' . '<br>'; }
Ici, nous avons défini trois tableaux $array1, $array2 et $array3 et défini une variable $search. Ensuite, nous utilisons une boucle foreach pour parcourir tous les tableaux, en utilisant la fonction array_search() pour trouver l'élément spécifié dans chaque tableau. Si une correspondance est trouvée, nous définissons une variable $found sur true, puis utilisons l'instruction break pour sortir de la boucle. Enfin, nous utilisons une instruction if pour vérifier la valeur de la variable $found afin de déterminer si l'élément spécifié est trouvé dans un tableau.
6. Rechercher des chemins dans des tableaux multidimensionnels
Dans certains cas, nous devons rechercher un chemin spécifié dans un tableau multidimensionnel et renvoyer les éléments du chemin. Voici un cas d'utilisation :
$array = array( 'a' => array('b' => array('c' => 'd')) ); $search = 'c'; function search_path($array, $search, &$path = array()) { foreach ($array as $key => $value) { if (is_array($value)) { $path[] = $key; if (search_path($value, $search, $path)) { return true; } array_pop($path); } else { if ($key === $search) { $path[] = $key; return true; } } } return false; } $path = array(); if (search_path($array, $search, $path)) { echo 'The path to "' . $search . '" is: ' . implode(' > ', $path) . '<br>'; } else { echo 'Could not find the path to "' . $search . '".' . '<br>'; }
Dans cet exemple, nous définissons un tableau multidimensionnel contenant une valeur scalaire 'd', enregistrée au chemin 'a/b/c'. Nous utilisons ensuite une fonction personnalisée search_path() pour trouver le chemin et renvoyer les éléments sur le chemin. Cette fonction utilise la récursion pour parcourir le tableau multidimensionnel et rechercher des éléments dans le chemin spécifié. S'il est trouvé, stockez le chemin dans un tableau $paths et renvoyez true. Si elle n'est pas trouvée, la fonction renvoie false.
Après avoir exécuté la fonction search_path(), nous passons le tableau $path en paramètre et pouvons utiliser la fonction implode() pour afficher le chemin sur la page Web.
Conclusion
Dans cet article, nous avons présenté diverses méthodes d'application pratiques de la fonction array_search(). Cette fonction peut non seulement trouver des éléments dans des tableaux unidimensionnels, mais également trouver des chemins dans des tableaux multidimensionnels. La maîtrise de cette fonction peut nous permettre d'exploiter les tableaux et les données de manière plus pratique et plus efficace pendant le processus de développement.
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!