使用php中的键/索引数组访问php中的深层数组值?

亚历山德鲁·R

假设您有以下数组:

$object = array ('a' => array ( 'b' => array('c' = 'value'), 'd' => 3));
$indices = array ('a', 'b', 'c');

是否有一种简单的方法来访问$ object ['a'] ['b'] ['c'](来自$ indices数组的键)?

这是我尝试的:

function accessObjectKey ($object, $levels) {
    if (is_string($levels)) 
        $levels = explode ('.', $levels);
    //
    for ($i=0; $i<count($levels); $i++) {
        if ($i == count($levels) && key_exists($levels[$i], $object)) {
            $value = $object[$levels[$i]];
        }
        else {
            $value = accessObjectKey ($object, array_shift($levels));
        }
    }
    return $value;
}

谢谢

亚历克斯

首先(你有错字array('c' = 'value'),应该是array('c' => 'value'),)我试图用你的代码:

$object = array ('a' => array ( 'b' => array('c' => 'value'), 'd' => 3));
$indices = array ('a', 'b', 'c');

echo accessObjectKey($object,$indices);

那给我一个错误:

致命错误:达到最大功能嵌套级别'100',正在中止!

我对您的功能代码有点困惑,所以很抱歉,我创建了我的代码,它不是完美的,但value按预期返回

function getByPath($arr,$path) {
     if (!isset($arr[$path[0]])) {
        return 'There is no '.$path[0].' element!';
     } elseif(count($path)==1) {
        return $arr[$path[0]];
     } elseif(!is_array($arr[$path[0]])) {
        return 'Element '.$path[0].' is not array! ';
     } else {
    $key = array_shift($path);     
        return getByPath($arr[$key],$path);
     }
}

$object = array ('a' => array ( 'b' => array('c' => 'value'), 'd' => 3));
$indices = array ('a', 'b', 'c');

echo getByPath($object,$indices);

输出:

value

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用php中的键/索引数组访问php中的深层数组值?

来自分类Dev

在PHP中访问多层数组的较低值

来自分类Dev

在 JSON 中检索单个深层数组

来自分类Dev

PHP检查多层数组中是否存在值

来自分类Dev

PHP/Wordpress 如何从数组中获取键/索引值

来自分类Dev

如何在PHP数组中访问不同的键和值

来自分类Dev

如何使用PHP从数组中获取数组的键和值

来自分类Dev

无法通过索引访问 PHP 数组中的值

来自分类Dev

PHP-如何获取n个深层数组的所有数组值?

来自分类Dev

无法使用键中的斜杠访问PHP数组

来自分类Dev

使用数组中的键访问值

来自分类Dev

PHP使用二维数组的键访问数组的值

来自分类Dev

PHP使用键的值从数组中获取值

来自分类Dev

从索引的PHP数组中检索相同的值

来自分类Dev

遍历PHP中的深层嵌套数组

来自分类Dev

遍历PHP中的深层嵌套数组

来自分类Dev

php错误访问双层数组

来自分类Dev

PHP访问多维数组中的值

来自分类Dev

使用数组在PHP中数组值的总和

来自分类Dev

在PHP中结合键数组和值数组

来自分类Dev

获得最低的键-多维数组PHP中的数组值

来自分类Dev

如何使用内部值的键访问PHP数组

来自分类Dev

如何使用php在键为特定键的数组中查找键的值?

来自分类Dev

如何在PHP中从键=>“值数组”到“键=>值数组”的数组

来自分类Dev

如何获取php键作为php数组中的值

来自分类Dev

如何使用另一个数组的值在php数组中动态注入键?

来自分类Dev

在胡子 PHP 中访问数组中的数组

来自分类Dev

如何计算多层数组中的值?

来自分类Dev

PHP,从数组中删除键