Maison  >  Article  >  développement back-end  >  Comment déterminer si une chaîne est dans un tableau en php

Comment déterminer si une chaîne est dans un tableau en php

PHPz
PHPzoriginal
2023-04-23 10:21:27514parcourir

En PHP, c'est une opération très courante pour déterminer si une chaîne est dans un tableau. Dans le développement réel, il existe souvent des situations où il est nécessaire de déterminer si une chaîne se trouve dans un tableau.

Si le tableau à juger est relativement petit, vous pouvez utiliser la fonction in_array pour juger. in_array peut déterminer si une valeur se trouve dans un tableau et renvoyer vrai ou faux.

L'exemple de code est le suivant :

<?php
$arr = array('apple','banana','orange');
if(in_array('apple',$arr)){
    echo '存在';
}else{
    echo '不存在';
}

Dans cet exemple, le tableau $arr contient 3 éléments : pomme, banane et orange. Si la valeur à trouver est pomme, « existe » sera affiché ; si la valeur à trouver est pamplemousse, « n'existe pas » sera affiché.

Cependant, dans le développement réel, il existe souvent des situations où l'éventail à juger est relativement large. Si vous utilisez la fonction in_array pour juger, l'efficacité sera moindre, car la fonction in_array doit parcourir l'intégralité du tableau pour trouver l'élément cible.

Dans ce cas, nous pouvons utiliser une autre fonction fournie par PHP - array_search pour déterminer si le tableau contient un élément. array_search renverra l'indice de l'élément cible dans le tableau, s'il n'est pas trouvé, il renverra false.

L'exemple de code est le suivant :

<?php
$arr = array('apple','banana','orange');
$find = 'banana';
if(($key = array_search($find,$arr)) !== false){
    echo $find.'存在,下标为:'.$key;
}else{
    echo $find.'不存在';
}

Dans cet exemple, le tableau que nous devons juger est toujours $arr et la valeur que nous devons trouver est banane. Il convient de noter que lors de l'utilisation de la fonction array_search, la valeur de retour doit être jugée. Si la valeur de retour n'est pas fausse, cela signifie que l'élément cible existe, et l'indice de l'élément cible dans le tableau est renvoyé ; si la valeur de retour est fausse, l'élément cible n'existe pas ;

Si les conditions à évaluer sont plus complexes, comme trouver des éléments contenant une certaine sous-chaîne dans un tableau, vous pouvez utiliser la fonction array_filter fournie par PHP. La fonction array_filter peut être utilisée pour filtrer les éléments d'un tableau qui répondent à des conditions spécifiées et renvoyer un nouveau tableau.

L'exemple de code est le suivant :

<?php
$arr = array('apple','banana','orange','grapefruit','pear');
$find = 'ap';
$res = array_filter($arr,function($item) use ($find){
    if(strpos($item,$find) !== false){
        return true;
    }else{
        return false;
    }
});
if(!empty($res)){
    echo '找到了包含'.$find.'的元素:'.implode(',',$res);
}else{
    echo '没有找到包含'.$find.'的元素';
}

Dans cet exemple, nous définissons d'abord un tableau $arr, puis la condition à trouver est l'élément contenant la chaîne "ap". Nous utilisons la fonction array_filter pour filtrer les éléments du tableau qui remplissent les conditions. La condition de filtrage est la suivante : utilisez la fonction strpos pour déterminer si l'élément contient la chaîne "ap". Si c'est le cas, il renvoie vrai, sinon il renvoie faux. Si le résultat final du filtre n'est pas vide, cela signifie que l'élément contenant "ap" a été trouvé.

En bref, PHP offre diverses façons de déterminer si une chaîne se trouve dans un tableau, et les développeurs peuvent choisir en fonction de besoins spécifiques et des conditions réelles. Dans l’application réelle, il convient également de prêter attention à l’écriture d’un code efficace et robuste.

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