Maison  >  Article  >  développement back-end  >  Est-ce que php est dans un tableau à deux dimensions ?

Est-ce que php est dans un tableau à deux dimensions ?

WBOY
WBOYoriginal
2023-05-22 21:02:38389parcourir

Avec le développement rapide d'Internet et de la technologie Web, le langage PHP est devenu l'une des compétences indispensables pour de nombreux ingénieurs en développement Web. Dans le langage PHP, les tableaux sont un type de données très important et couramment utilisé, et les tableaux bidimensionnels sont les plus fréquemment utilisés. Alors, comment déterminer si un élément se trouve dans un tableau à deux dimensions en PHP ? Cet article présentera sa mise en œuvre spécifique sous les aspects de principes, de méthodes de mise en œuvre, etc.

1. Qu'est-ce qu'un tableau bidimensionnel en PHP ?

En PHP, un tableau peut contenir un autre tableau. Ce type de tableau est appelé tableau bidimensionnel. En termes simples, un tableau bidimensionnel est un tableau composé de plusieurs tableaux unidimensionnels, et chaque tableau unidimensionnel contient plusieurs éléments. La forme du tableau bidimensionnel est la suivante :

$array = array(
    array('name'=>'小明', 'age'=>18),
    array('name'=>'小红', 'age'=>19),
    array('name'=>'小兰', 'age'=>20)
);

Le code ci-dessus est un tableau bidimensionnel, qui contient trois tableaux unidimensionnels, chaque tableau unidimensionnel se compose de deux éléments.

2. Comment déterminer si un élément en PHP est dans un tableau à deux dimensions ?

En PHP, il est relativement simple de déterminer si un élément existe dans un tableau unidimensionnel. Vous pouvez directement utiliser la fonction in_array() pour y parvenir. Cependant, déterminer si un élément existe dans un tableau à deux dimensions est un peu plus délicat.

Les éléments d'un tableau bidimensionnel sont composés de plusieurs paires clé-valeur, et n'importe quelle paire clé-valeur peut être utilisée comme base de jugement. Par conséquent, vous pouvez utiliser une boucle pour parcourir le tableau à deux dimensions, supprimer chaque tableau à une dimension un par un, puis déterminer si l'élément cible existe dans le tableau à une dimension. S'il existe, il renvoie vrai. S'il n'existe pas, il continue à parcourir d'autres tableaux unidimensionnels jusqu'à ce que tous les parcours soient terminés. Voici un exemple de fonction :

function check_in_array($needle, $haystack) {
    if (!is_array($needle) || !is_array($haystack)) {
        return false;
    }
    foreach ($haystack as $value) {
        if (in_array($needle, $value)) {
            return true;
        }
    }
    return false;
}

Dans le code ci-dessus, $needle est l'élément cible et $haystack est le tableau bidimensionnel à juger. Déterminez d’abord si le paramètre entrant est correct. S’il ne s’agit pas d’un type de tableau, renvoyez directement false. Utilisez ensuite une boucle foreach pour parcourir l'intégralité du tableau bidimensionnel, supprimez chaque tableau unidimensionnel un par un et utilisez la fonction in_array() pour déterminer si l'élément cible se trouve dans le tableau unidimensionnel actuel. S'il existe, renvoie true, indiquant que l'élément cible est dans le tableau à deux dimensions ; si l'élément cible n'a pas été trouvé après avoir parcouru tous les tableaux à une dimension, renvoie false, indiquant que l'élément cible n'est pas dans le tableau à deux dimensions ; tableau dimensionnel.

3. Utilisation de la fonction de tableau array_column()

Bien que la méthode ci-dessus puisse déterminer si un élément existe dans un tableau à deux dimensions, elle nécessite d'écrire la fonction vous-même et le code est relativement long. PHP fournit une méthode plus pratique et plus efficace, qui consiste à utiliser la fonction de tableau array_column(). La fonction de cette fonction est de prendre la valeur d'une certaine colonne d'un tableau multidimensionnel et de renvoyer un tableau. Ce tableau est un tableau unidimensionnel contenant l'élément cible. Voici le code qui utilise array_column() pour déterminer si un élément existe dans un tableau à deux dimensions :

function check_in_array($needle, $haystack) {
    if (!is_array($needle) || !is_array($haystack)) {
        return false;
    }
    $arr = array_column($haystack, 'id');
    if (in_array($needle, $arr)) {
        return true;
    }
    return false;
}

Dans le code ci-dessus, les significations de $needle et $haystack sont les mêmes que ci-dessus. ) est utilisée pour supprimer toutes les colonnes id de $haystack. Les valeurs forment un tableau unidimensionnel $arr, puis utilisez la fonction in_array() pour déterminer si l'élément cible existe dans $arr. S'il existe, renvoyez true, indiquant que l'élément cible est dans le tableau à deux dimensions ; sinon, renvoyez false, indiquant que l'élément cible n'est pas dans le tableau à deux dimensions.

IV.Résumé

Cet article présente la méthode permettant de déterminer si un élément existe dans un tableau bidimensionnel en PHP, y compris les principes, les méthodes d'implémentation et les précautions d'utilisation de la fonction de tableau array_column(). Il convient de noter que lorsque vous utilisez la fonction array_column(), veillez à noter que la valeur d'une colonne supprimée doit être unique, sinon des résultats inattendus se produiront. De plus, selon le scénario d'application réel, vous devrez peut-être écrire vous-même la fonction correspondante pour réaliser la nécessité de déterminer si un élément existe dans un tableau à deux dimensions.

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