Maison  >  Article  >  développement back-end  >  Comment utiliser le code pour obtenir de manière récursive la valeur d'une clé spécifiée dans un tableau via PHP

Comment utiliser le code pour obtenir de manière récursive la valeur d'une clé spécifiée dans un tableau via PHP

jacklove
jackloveoriginal
2018-06-08 14:33:244158parcourir

En PHP, nous rencontrons souvent le besoin d'obtenir la valeur clé d'un tableau, cet article expliquera donc les connaissances pertinentes.

/**
 * 递归获取一个数组中指定key的值
 * @param $array
 * @param $keys
 * @param string $delimiter
 * @return mixed
 */
function get_deep_value($array, $keys, $delimiter = '.')
{
    $keys = explode($delimiter, $keys);
    $key = array_shift($keys);
    if (sizeof($keys) > 0 && isset($array[$key])) {
        return get_deep_value($array[$key], implode($delimiter, $keys), $delimiter);
    } else {
        return $array[$key] ?? null;
    }
}
 
$a = [
    'a' => [
        'b' => 'error',
        'c' => [
            'd' => [
                'e' => [
                    'f' => 'ok',
                ]
            ]
        ]
    ]
]; 
var_dump(get_deep_value($a, 'a.c.d.e.f'));
/**
 * 输出:
 * string(2) "ok"
 */
var_dump(get_deep_value($a, 'a.b'));
/**
 * 输出:
 * string(5) "error"
 */
var_dump(get_deep_value($a, 'a.b.c'));
/**
 * 输出:
 * NULL
 */

Cet article répertorie les méthodes pertinentes pour obtenir de manière récursive la valeur d'une clé spécifiée dans un tableau via le code PHP. Pour plus de connaissances connexes, veuillez faire attention au site Web PHP chinois.

Recommandations associées :

Lecture d'une taille de fichier de 1 Go via PHP

Expliquez le code de la fonction d'initialisation de la classe PHP

Expliquez le code PHP orienté objet et lié à l'héritage PHP

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