相关疑难解决方法(0)

如何通过键名/路径访问和操作多维数组?

我将在PHP中实现一个setter,它允许我指定数组(目标)的键或子键,将名称作为点分隔键值传递.

给出以下代码:

$arr = array('a' => 1,
             'b' => array(
                 'y' => 2,
                 'x' => array('z' => 5, 'w' => 'abc')
             ),
             'c' => null);

$key = 'b.x.z';
$path = explode('.', $key);
Run Code Online (Sandbox Code Playgroud)

从价值的$key我想达到的值5$arr['b']['x']['z'].

现在,给定一个变量值$key和一个不同的$arr值(具有不同的深度).

如何设置所引用元素的值$key

对于getter get()我写了这段代码:

public static function get($name, $default = null)
{
    $setting_path = explode('.', $name);
    $val = $this->settings;

    foreach ($setting_path as $key) {
        if(array_key_exists($key, $val)) {
            $val = $val[$key];
        } …
Run Code Online (Sandbox Code Playgroud)

php arrays multidimensional-array

18
推荐指数
2
解决办法
4644
查看次数

标签 统计

arrays ×1

multidimensional-array ×1

php ×1