Maison  >  Article  >  développement back-end  >  Requête de tableau multidimensionnel PHP pour une certaine valeur

Requête de tableau multidimensionnel PHP pour une certaine valeur

WBOY
WBOYoriginal
2023-05-05 21:21:06590parcourir

En PHP, le tableau est une structure de données très courante. C'est un type de données qui peut stocker plusieurs valeurs. Un tableau multidimensionnel fait référence à un tableau pouvant stocker d'autres tableaux, c'est-à-dire un tableau de tableaux. Les tableaux multidimensionnels conviennent très bien à certaines situations, mais lors de l'interrogation de valeurs spécifiques, vous devrez peut-être utiliser des méthodes et techniques spéciales. Cet article explique comment interroger une certaine valeur dans un tableau multidimensionnel en PHP.

  1. Utiliser une boucle pour parcourir le tableau

En PHP, le moyen le plus simple d'interroger une valeur dans un tableau multidimensionnel est d'utiliser une boucle pour parcourir le tableau. Le processus de mise en œuvre spécifique est le suivant :

function searchValue($arr, $value) {
    foreach ($arr as $key => $val) {
        if (is_array($val)) {
            $result = searchValue($val, $value);
            if ($result !== false) {
                return $result;
            }
        } else if ($val === $value) {
            return $key;
        }
    }
    return false;
}

Le code ci-dessus utilise une méthode récursive pour parcourir le tableau multidimensionnel, en approfondissant couche par couche jusqu'à ce que la valeur cible soit trouvée ou que l'ensemble du tableau soit parcouru. Si la valeur cible est trouvée, renvoie l'index auquel se trouve la valeur ; sinon, renvoie false.

  1. Utiliser les fonctions de tableau PHP

En plus d'utiliser le parcours de boucles, nous pouvons également utiliser certaines des fonctions de tableau fournies avec PHP pour interroger tableaux multidimensionnels une certaine valeur.

(1) fonction array_walk_recursive

La fonction array_walk_recursive peut parcourir tous les éléments d'un tableau multidimensionnel et appeler la fonction de rappel pour traiter chaque élément. Le processus d'implémentation spécifique est le suivant :

function searchValue($arr, $value) {
    $found = false;
    array_walk_recursive($arr, function($val, $key) use ($value, &$found) {
        if ($val === $value) {
            $found = $key;
        }
    });
    return $found;
}

Le code ci-dessus imbrique la fonction de rappel de la fonction array_walk_recursive dans la fonction searchValue pour trouver la valeur cible. Si elle est trouvée, l'index de l'emplacement de la valeur est. stocké dans la variable $found et renvoie la valeur de la variable.

(2) la fonction array_column

array_column peut obtenir la valeur de la colonne spécifiée à partir d'un tableau multidimensionnel. Par conséquent, si nous voulons demander si une certaine valeur existe dans un tableau multidimensionnel, nous pouvons d'abord utiliser la fonction array_column pour obtenir toutes les valeurs de la colonne où se trouve la valeur, puis l'interroger. Le processus d'implémentation spécifique est le suivant :

function searchValue($arr, $value) {
    $col = array_column($arr, null);
    if (in_array($value, $col)) {
        return array_search($value, $col);
    } else {
        return false;
    }
}

Le code ci-dessus utilise la fonction array_column pour obtenir les valeurs de tous les éléments de l'ensemble du tableau multidimensionnel et les stocke dans la variable $col. Utilisez ensuite la fonction in_array pour déterminer si la valeur cible existe dans le tableau $col. Si elle est trouvée, utilisez la fonction array_search pour renvoyer l'index où se trouve la valeur, sinon renvoyez false ;

  1. Utiliser des bibliothèques tierces

En plus d'utiliser les fonctions fournies avec PHP, nous pouvons également utiliser des fonctions dans des bibliothèques tierces pour gérer un tableau multidimensionnel. Parmi eux, la fonction grep de jQuery peut être utilisée pour le filtrage et la recherche de tableaux. La méthode d'utilisation est la suivante :

function searchValue($arr, $value) {
    $result = null;
    foreach ($arr as $key => $val) {
        if (is_array($val)) {
            $result = searchValue($val, $value);
        } else if ($val === $value) {
            $result = $key;
        }
        if ($result) {
            break;
        }
    }
    return $result;
}

Le code ci-dessus utilise une méthode récursive pour parcourir le tableau multidimensionnel et utilise la fonction grep de jQuery pour trouver la valeur cible. Si la valeur cible est trouvée, renvoie l'index auquel se trouve la valeur ; sinon, renvoie null.

Summary

Cet article présente la méthode d'interrogation d'une certaine valeur dans un tableau multidimensionnel en PHP, notamment l'utilisation de boucles pour parcourir le tableau, les propres fonctions de tableau de PHP et fonctions de tiers dans la bibliothèque. Ces méthodes peuvent être sélectionnées et utilisées en fonction de situations spécifiques pour obtenir les résultats de requête les plus efficaces.

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