Maison  >  Article  >  développement back-end  >  PHP détermine s'il se trouve dans un certain attribut du tableau

PHP détermine s'il se trouve dans un certain attribut du tableau

WBOY
WBOYoriginal
2023-05-05 21:53:09533parcourir

En PHP, les opérations sur les tableaux sont très fréquentes. Un tableau est une structure de données non ordonnée pouvant stocker plusieurs valeurs associées. Lorsque nous devons déterminer si un élément existe dans un tableau, nous pouvons utiliser la fonction in_array de PHP pour le déterminer. Mais si vous avez besoin de déterminer si un élément existe dans un certain attribut du tableau, comment y parvenir ?

  1. Utilisez la boucle for pour parcourir le tableau

Nous pouvons utiliser la boucle for pour parcourir le tableau et comparer si un certain attribut de chaque élément remplit les conditions un par un. Si un élément qui remplit les conditions est trouvé, cela signifie. que l'élément existe dans cet attribut du tableau.

Exemple de code :

function isExistInArray($needle, $array, $key) {
    for ($i = 0; $i < count($array); $i++) {
        if ($array[$i][$key] == $needle) {
            return true;
        }
    }
    return false;
}

$array = array(
    array("name" => "apple", "color" => "red"),
    array("name" => "banana", "color" => "yellow"),
    array("name" => "orange", "color" => "orange")
);

echo isExistInArray("red", $array, "color") ? "存在" : "不存在"; // 存在
echo isExistInArray("green", $array, "color") ? "存在" : "不存在"; // 不存在

Dans le code ci-dessus, nous définissons une fonction appelée isExistInArray. Cette fonction a trois paramètres : l'élément à trouver $needle, le tableau à trouver $array et le nom de l'attribut $key. Comparez les valeurs d'attribut de chaque élément une par une via une boucle for Si un élément qui remplit les conditions est trouvé, true est renvoyé, sinon false est renvoyé.

  1. Utilisez la fonction array_map

La fonction array_map peut être utilisée pour exécuter une fonction spécifiée sur chaque élément du tableau et renvoyer le tableau traité. Nous pouvons utiliser cette fonction pour filtrer un attribut du tableau afin de déterminer si un élément existe dans l'attribut.

Exemple de code :

function checkValue($value, $needle) {
    if ($value == $needle) {
        return true;
    }
    return false;
}

$array = array(
    array("name" => "apple", "color" => "red"),
    array("name" => "banana", "color" => "yellow"),
    array("name" => "orange", "color" => "orange")
);

$result = array_map(function($item) use ($needle) {
    return checkValue($item["color"], $needle);
}, $array);

if (in_array(true, $result)) {
    echo "存在";
} else {
    echo "不存在";
}

Dans le code ci-dessus, nous définissons une fonction nommée checkValue pour comparer si une certaine valeur d'attribut du tableau est égale à la valeur à trouver. Ensuite, nous utilisons la fonction array_map pour exécuter la fonction checkValue sur chaque élément du tableau et renvoyer le tableau traité. Enfin, nous utilisons la fonction in_array pour déterminer s'il existe une vraie valeur dans le tableau traité. Si elle existe, cela signifie que l'élément existe dans cet attribut du tableau.

En bref, pour déterminer si un élément existe dans un certain attribut du tableau, vous devez parcourir le tableau ou utiliser la fonction array_map pour filtrer le tableau. Les deux méthodes ci-dessus ont chacune leurs propres avantages et inconvénients, et les développeurs peuvent choisir la méthode appropriée en fonction de leurs 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