Maison >développement back-end >Problème PHP >Comment vérifier si une valeur est dans un tableau 2D en utilisant PHP

Comment vérifier si une valeur est dans un tableau 2D en utilisant PHP

PHPz
PHPzoriginal
2023-04-14 20:03:111099parcourir

En PHP, un tableau bidimensionnel est une structure de données très courante. Dans le développement réel, nous devons parfois déterminer si une certaine valeur se trouve dans un tableau à deux dimensions. Cet article explique comment utiliser PHP pour vérifier si une valeur se trouve dans un tableau à deux dimensions.

  1. Méthode 1 : utilisez la boucle foreach

Utilisez la boucle foreach pour parcourir le tableau à deux dimensions, comparez chaque valeur une par une, si la valeur existe dans le tableau à deux dimensions, renvoyez vrai, sinon renvoyez faux.

L'exemple de code est le suivant :

function in_array_2d($value, $array) {
    foreach ($array as $item) {
        if (in_array($value, $item)) {
            return true;
        }
    }
    return false;
}

L'implémentation du code ci-dessus est relativement simple. Il utilise la fonction in_array intégrée de PHP pour déterminer si la valeur est dans le tableau et utilise une boucle foreach pour parcourir les deux- tableau dimensionnel.

La méthode d'utilisation est également très simple, il suffit de passer la valeur à juger et le tableau à deux dimensions, par exemple :

$array = array(
    array(1, 2, 3),
    array(4, 5, 6),
    array(7, 8, 9),
);
$value = 5;
if (in_array_2d($value, $array)) {
    echo '值存在于数组中';
} else {
    echo '值不存在于数组中';
}

Dans cet exemple, $array est un tableau à deux dimensions, $value est la valeur à juger, et le résultat de l'exécution pour "la valeur existe dans le tableau".

  1. Méthode 2 : utilisez la fonction array_walk_recursive

Utilisez la fonction array_walk_recursive pour parcourir tous les éléments du tableau bidimensionnel Si la valeur existe, renvoyez vrai, sinon renvoyez faux.

L'exemple de code est le suivant :

function in_array_2d($value, $array) {
    $exist = false;
    array_walk_recursive($array, function($item) use (&$exist, $value) {
        if ($item == $value) {
            $exist = true;
        }
    });
    return $exist;
}

Le code ci-dessus utilise la fonction array_walk_recursive pour parcourir le tableau bidimensionnel et utilise le mot-clé use pour transmettre $exist et $value dans la fonction $exist est la variable d'indicateur existante. , et $value doit être jugé en valeur.

De même, la méthode d'utilisation est également très simple. Il suffit de transmettre la valeur qui doit être jugée et le tableau à deux dimensions, par exemple :

$array = array(
    array(1, 2, 3),
    array(4, 5, 6),
    array(7, 8, 9),
);
$value = 5;
if (in_array_2d($value, $array)) {
    echo '值存在于数组中';
} else {
    echo '值不存在于数组中';
}

Dans cet exemple, $array est un tableau à deux dimensions, et $ value est la valeur qui doit être jugée. Le résultat de l'exécution est "la valeur existe dans le tableau".

Résumé

Les deux méthodes ci-dessus peuvent être utilisées pour déterminer si une valeur se trouve dans un tableau à deux dimensions. Lorsque vous l'utilisez, vous pouvez choisir différentes méthodes en fonction de vos propres besoins. En termes de performances, la complexité temporelle des deux méthodes est O(n^2). Si le tableau bidimensionnel est relativement grand, il est recommandé de choisir d'autres algorithmes plus efficaces.

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