


Comment savoir si une certaine valeur existe dans un tableau à deux dimensions en php
Apr 20, 2023 pm 01:55 PMTableau bidimensionnel PHP pour savoir si une certaine valeur existe
En PHP, le tableau est l'un des types de données couramment utilisés, et le tableau bidimensionnel est l'une des formes de tableau les plus couramment utilisées. Dans le développement réel, nous avons souvent besoin de déterminer si une certaine valeur existe dans un tableau à deux dimensions. Cet article présentera plusieurs méthodes d'implémentation.
- Utiliser la boucle foreach
Tout d'abord, nous pouvons utiliser la boucle foreach pour parcourir l'ensemble du tableau bidimensionnel et déterminer si la valeur cible existe une par une. Le code est le suivant :
function search_array($array, $search_value) { foreach($array as $value) { if(in_array($search_value, $value)) { return true; } } return false; }
Dans le code ci-dessus, nous définissons une fonction nommée search_array, qui reçoit deux paramètres $array représente le tableau bidimensionnel à rechercher, et $search_value représente la valeur à rechercher.
Dans le corps de la fonction, nous utilisons d'abord la boucle foreach pour parcourir le tableau bidimensionnel, en retirant un élément du tableau $value à chaque fois, puis utilisons la fonction in_array pour vérifier si $search_value existe dans $value S'il existe. , la fonction renvoie true, indiquant que la recherche a été trouvée. Valeur cible ; sinon, continuez la boucle jusqu'à ce que le tableau soit parcouru.
Remarque : La fonction in_array() est utilisée pour rechercher une valeur donnée dans un tableau. Renvoie vrai s'il est trouvé, faux sinon.
- Utilisation de la fonction array_walk
En plus d'utiliser la boucle foreach, nous pouvons également utiliser la fonction array_walk pour traiter chaque élément du tableau et vérifier si la valeur cible existe. Le code est le suivant :
function search_array($array, $search_value) { $found = false; array_walk($array, function($value) use (&$found, $search_value){ if(in_array($search_value, $value)) { $found = true; } }); return $found; }
Dans le code ci-dessus, nous définissons d'abord une fonction nommée search_array, qui reçoit deux paramètres : $array représente le tableau bidimensionnel à rechercher, et $search_value représente la valeur à rechercher. Nous définissons également une variable $found, qui indique si la valeur cible est trouvée et est initialisée à false.
Ensuite, nous avons appelé la fonction array_walk pour parcourir le tableau $array. Ici, nous avons utilisé une fonction anonyme comme fonction de rappel. Cette fonction reçoit le paramètre $value pour représenter l'élément du tableau. $search_value in. Dans le corps de la fonction, utilisez La fonction in_array vérifie si $search_value existe dans $value et, si c'est le cas, définit $found sur true, indiquant que la valeur cible est trouvée. Enfin, la fonction renvoie la valeur de $found, indiquant si la valeur cible a été trouvée.
Remarque : La fonction array_walk() applique une fonction définie par l'utilisateur à chaque élément du tableau. Renvoie VRAI en cas de succès, FAUX sinon.
- Utilisez la fonction array_reduce
Enfin, nous pouvons également utiliser la fonction array_reduce pour parcourir l'ensemble du tableau bidimensionnel et vérifier si chaque élément du tableau contient la valeur cible un par un. Le code est le suivant :
function search_array($array, $search_value) { $found = array_reduce($array, function($carry, $value) use ($search_value){ return $carry || in_array($search_value, $value); }, false); return $found; }
Dans le code ci-dessus, nous définissons d'abord une fonction nommée search_array, qui reçoit deux paramètres : $array représente le tableau bidimensionnel à rechercher, et $search_value représente la valeur à rechercher.
Ensuite, nous utilisons la fonction array_reduce pour parcourir l'intégralité du tableau bidimensionnel, en utilisant une fonction anonyme comme fonction de rappel, où $carry représente la valeur de retour de l'itération précédente et $value représente l'élément du tableau actuellement itéré. La fonction in_array est utilisée dans le corps de la fonction pour vérifier si $search_value existe dans $value. Si elle existe, $carry || est renvoyé, indiquant que la valeur cible a été trouvée, sinon $carry false est renvoyé. indiquant que la valeur cible n’a pas été trouvée. Enfin, la fonction renvoie la valeur de $found, indiquant si la valeur cible a été trouvée.
Remarque : La fonction array_reduce() utilise une fonction de rappel pour réduire de manière itérative le tableau à une valeur unique.
Résumé
Cet article présente trois façons d'implémenter un tableau bidimensionnel PHP pour trouver une certaine valeur. Il utilise respectivement la boucle foreach, la fonction array_walk et la fonction array_reduce pour parcourir le tableau bidimensionnel afin de vérifier s'il contient la valeur cible. . Dans le développement réel, nous devons choisir une méthode de mise en œuvre appropriée en fonction de la situation réelle pour améliorer l'efficacité du code et la vitesse d'exécution.
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!

Article chaud

Outils chauds Tags

Article chaud

Tags d'article chaud

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds

Quelles sont les meilleures pratiques pour la déduplication des tableaux PHP

La déduplication du tableau PHP doit-elle être prise en compte pour les pertes de performance?

La déduplication PHP Array peut-elle profiter de l'unicité du nom clé?

Quelles sont les techniques d'optimisation pour la déduplication des tableaux PHP

Quelles sont les dernières normes de codage PHP et les meilleures pratiques?

Comment puis-je travailler avec les extensions de PHP et PECL?

Comment implémenter les files d'attente de messages (Rabbitmq, Redis) dans PHP?

Comment utiliser la réflexion pour analyser et manipuler le code PHP?
