Maison >développement back-end >Problème PHP >Comment déterminer si une valeur existe dans un tableau en php ? Brève analyse des méthodes

Comment déterminer si une valeur existe dans un tableau en php ? Brève analyse des méthodes

PHPz
PHPzoriginal
2023-04-14 17:45:58867parcourir

Dans le développement PHP, nous devons souvent déterminer si une certaine valeur existe dans un tableau afin d'effectuer les opérations associées selon les besoins. Ensuite, cet article utilisera des exemples pratiques pour présenter l'utilisation associée de PHP afin de déterminer si une certaine valeur existe dans le tableau.

1. Utilisez la fonction in_array pour déterminer

En PHP, vous pouvez utiliser la fonction in_array pour déterminer si une valeur existe dans un tableau. L'utilisation spécifique est la suivante :

bool in_array ( mixed $needle , array $haystack [, bool $strict = FALSE ] )

Parmi eux, le paramètre $needle est la valeur à rechercher, le paramètre $haystack est le tableau à rechercher et le paramètre $strict indique s'il faut effectuer une vérification de type. Si le paramètre $strict est vrai, vérifiez si le type de $needle est cohérent avec le type de valeur dans $haystack. S'ils sont incohérents, renvoyez false.

Ce qui suit est un exemple de code utilisant la fonction in_array pour porter un jugement :

$arr = array('apple', 'banana', 'orange', 'pear');
if (in_array('orange', $arr)) {
    echo 'orange is in the array';
} else {
    echo 'orange is not in the array';
}

Le résultat de sortie est : orange est dans le tableau, indiquant que la valeur orange existe dans le tableau $arr.

Bien sûr, le paramètre $needle peut également être un tableau, afin que vous puissiez déterminer si plusieurs valeurs existent dans le tableau $haystack en même temps. L'exemple de code est le suivant :

$arr = array('apple', 'banana', 'orange', 'pear');
$search_arr = array('banana', 'grape');
$res_arr = array_intersect($search_arr, $arr);
if ($res_arr) {
    echo implode(',', $res_arr) . ' are in the array';
} else {
    echo 'no value in the array';
}

Le résultat de sortie est : banane est dans le tableau, indiquant que la valeur banane existe dans le tableau $arr.

2. Utilisez la valeur de la clé du tableau pour déterminer

En plus d'utiliser la fonction in_array, vous pouvez également utiliser la valeur de la clé du tableau pour déterminer si une valeur existe dans un tableau. La méthode spécifique consiste à utiliser d'abord la fonction array_keys pour obtenir toutes les clés du tableau, puis à utiliser la fonction in_array pour déterminer si la valeur existe dans la clé. L'exemple de code est le suivant :

$arr = array('apple', 'banana', 'orange', 'pear');
if (in_array('orange', array_keys($arr))) {
    echo 'orange is in the array';
} else {
    echo 'orange is not in the array';
}

De même, vous pouvez également déterminer si plusieurs valeurs existent dans un tableau à la fois. L'exemple de code est le suivant :

$arr = array('apple', 'banana', 'orange', 'pear');
$search_arr = array('banana', 'grape');
$keys_arr = array_keys($arr);
$res_arr = array_intersect($search_arr, $keys_arr);
if ($res_arr) {
    echo implode(',', $res_arr) . ' are in the array';
} else {
    echo 'no value in the array';
}

3. Utilisez la fonction in_array pour la correspondance floue

Si vous souhaitez effectuer une correspondance floue, vous pouvez également utiliser la fonction in_array. La méthode spécifique consiste à comparer chaque valeur du tableau $haystack avec le paramètre $needle et à renvoyer true s'il existe une valeur avec le même préfixe que $needle. L'exemple de code est le suivant :

$arr = array('apple', 'banana', 'orange', 'pear');
$prefix = 'or';
foreach ($arr as $k => $v) {
    if (strpos($v, $prefix) === 0) {
        echo $v . "\n";
    }
}

Le résultat de sortie est : orange.

4. Utilisez la fonction array_intersect pour le jugement

En plus d'utiliser la fonction in_array et le jugement de la valeur de la clé du tableau, vous pouvez également utiliser la fonction array_intersect pour le jugement. L'utilisation spécifique consiste à placer la valeur à trouver dans un tableau, puis à utiliser la fonction array_intersect pour supprimer l'intersection des deux tableaux et déterminer si le tableau d'intersection a une valeur. L'exemple de code est le suivant :

$arr = array('apple', 'banana', 'orange', 'pear');
$search_arr = array('banana', 'grape');
$res_arr = array_intersect($search_arr, $arr);
if ($res_arr) {
    echo implode(',', $res_arr) . ' are in the array';
} else {
    echo 'no value in the array';
}

Le résultat de sortie est : la banane est dans le tableau.

Résumé

Cet article présente diverses méthodes pour déterminer si une valeur existe dans un tableau en php, notamment l'utilisation de la fonction in_array, l'utilisation du jugement de valeur de clé de tableau, l'utilisation de la fonction in_array pour la correspondance floue et l'utilisation de la fonction array_intersect. pour le jugement. Différentes méthodes conviennent à différents scénarios et les développeurs peuvent choisir en fonction des besoins réels.

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