Maison > développement back-end > Problème PHP > Découvrez comment PHP détermine si une certaine chaîne existe dans un tableau

Découvrez comment PHP détermine si une certaine chaîne existe dans un tableau

PHPz
Libérer: 2023-04-25 10:11:33
original
755 Les gens l'ont consulté

En php, nous devons souvent déterminer si un tableau contient une certaine chaîne. Dans cet article, nous explorerons comment PHP détermine si une certaine chaîne existe dans un tableau, et comment rechercher et filtrer les éléments d'un tableau.

Méthode 1 : utilisez la fonction in_array()

php fournit la fonction in_array(), qui peut facilement déterminer si l'élément spécifié est inclus dans le tableau. La syntaxe de cette fonction est la suivante :

in_array($search, $array);
Copier après la connexion

où le paramètre $search est l'élément à trouver, et le paramètre $array est le tableau à trouver. Renvoie vrai si l'élément $search est contenu dans $array, faux sinon. L'exemple de code est le suivant :

$fruits = array('apple', 'banana', 'orange', 'kiwi');
$search1 = 'banana';
$search2 = 'grape';

if (in_array($search1, $fruits)) {
    echo "Fruits array contains $search1";
} else {
    echo "Fruits array does not contain $search1";
}

if (in_array($search2, $fruits)) {
    echo "Fruits array contains $search2";
} else {
    echo "Fruits array does not contain $search2";
}
Copier après la connexion

Exécutez le code ci-dessus, le résultat sera :

Fruits array contains banana
Fruits array does not contain grape
Copier après la connexion

Méthode 2 : utilisez la fonction array_search()

php fournit également la fonction array_search(), qui peut trouver le premier élément dans le tableau La position où il apparaît. La syntaxe de cette fonction est la suivante :

array_search($search, $array);
Copier après la connexion

où le paramètre $search est l'élément à trouver, et le paramètre $array est le tableau à trouver. Si l'élément recherché est contenu dans le tableau, renvoie le nom de clé de la première occurrence de l'élément dans le tableau, sinon renvoie false. L'exemple de code est le suivant :

$fruits = array('apple', 'banana', 'orange', 'kiwi');
$search1 = 'banana';
$search2 = 'grape';

$result1 = array_search($search1, $fruits);
$result2 = array_search($search2, $fruits);

if ($result1 !== false) {
    echo "$search1 found at position $result1";
} else {
    echo "$search1 not found in the array";
}

if ($result2 !== false) {
    echo "$search2 found at position $result2";
} else {
    echo "$search2 not found in the array";
}
Copier après la connexion

Exécutez le code ci-dessus, le résultat sera :

banana found at position 1
grape not found in the array
Copier après la connexion

Méthode 3 : utilisez in_array() combiné avec la fonction array_map()

Parfois, nous devons déterminer si le tableau contient un ensemble de chaînes n’importe quel élément. Pour le moment, nous pouvons utiliser la fonction in_array() combinée avec la fonction array_map(). La fonction array_map() exécute une fonction définie par l'utilisateur sur chaque élément du tableau et renvoie un nouveau tableau contenant les résultats de toutes les fonctions. Nous pouvons appeler la fonction in_array() dans la fonction array_map() pour trouver la valeur. L'exemple de code est le suivant :

$fruits = array('apple', 'banana', 'orange', 'kiwi');
$search = array('apple', 'watermelon');

$found = array_filter(array_map(function($needle) use($fruits){
    return in_array($needle, $fruits);
}, $search));

if ($found) {
    echo "Found these fruits: ";
    print_r($found);
} else {
    echo "No fruits found";
}
Copier après la connexion

Exécutez le code ci-dessus, le résultat sera :

Found these fruits: Array
(
    [0] => 1
)
Copier après la connexion

Dans le code ci-dessus, nous utilisons la fonction array_map() et la fonction array_filter(). La fonction array_map() parcourt chaque élément du tableau $search, appelant une fonction anonyme sur chaque élément qui vérifie si l'élément est contenu dans le tableau $fruits. La fonction array_filter() reçoit un tableau et renvoie un tableau contenant uniquement les éléments vrais. Dans ce cas, $found contient uniquement les positions où l'élément existe.

Méthode 4 : utilisez la fonction preg_grep()

Si nous avons besoin de trouver des éléments dans un tableau qui contiennent un motif spécifique, comme tous les éléments commençant par la lettre 'a', nous pouvons utiliser la fonction preg_grep() en php . La fonction preg_grep() renvoie un tableau contenant tous les éléments correspondant au modèle. L'exemple de code est le suivant :

$fruits = array('apple', 'banana', 'orange', 'kiwi');
$pattern = '/^a/';

$found = preg_grep($pattern, $fruits);

if ($found) {
    echo "Found these fruits: ";
    print_r($found);
} else {
    echo "No fruits found";
}
Copier après la connexion

Exécutez le code ci-dessus, le résultat sera :

Found these fruits: Array
(
    [0] => apple
)
Copier après la connexion

Dans le code ci-dessus, nous utilisons l'expression régulière "/^a/" pour faire correspondre les éléments commençant par la lettre 'a'. La fonction preg_grep() reçoit une expression régulière et le tableau à rechercher, et renvoie un tableau contenant tous les éléments qui correspondent à l'expression.

Résumé

Cet article présente quatre méthodes différentes en php pour savoir si un tableau contient une certaine chaîne. Ces méthodes incluent l'utilisation de la fonction in_array(), de la fonction array_search(), de la fonction in_array() combinée avec la fonction array_map() et de la fonction preg_grep(). Ces méthodes sont toutes des méthodes de requête de tableau couramment utilisées en PHP. Au travail, nous pouvons choisir la méthode appropriée à appliquer en fonction de la situation spécifique.

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!

source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal