PHP从具有键的数组的多维数组中获取价值

梅林德克

我试图在基于带有键的数组的动态生成的多维数组中达到一个目标。

基本上我有以下数组:

$arr = [
    "something" => [
        'something_else' => [
            "another_thing" => "boo"
        ]
    ],
    "something2" => [
        'something_elseghf' => [
            "another_thingfg" => [
                "hi" => "bye"
            ]
        ]
    ],
    "info" => [
        'something_else2' => [
            "another_thingh" => "boo"
        ]
    ],
];

现在,我想基于另一个数组中的键在数组中设置一个值:

$keyArr = ["something2", 'something_elseghf' "another_thingfg", "hi"];

因此,上面的数组意味着我需要将hi键设置为某个值。如何使用这些随机键到达数组的该部分,请注意$ keyArr的长度也是动态的。所以我无法达到:

$arr[$keyArr[0]][$keyArr[1]][$keyArr[2]][$keyArr[3]] = 

希望任何人都有解决此问题的想法!

没什么不好

试试这个方法:

$arr = [
    "something" => [
        'something_else' => [
            "another_thing" => "boo"
        ]
    ],
    "something2" => [
        'something_elseghf' => [
            "another_thingfg" => [
                "hi" => "bye"
            ]
        ]
    ],
    "info" => [
        'something_else2' => [
            "another_thingh" => "boo"
        ]
    ],
];

$keyArr = ["something2", 'something_elseghf', "another_thingfg", "hi"];


$cursor = $arr;
foreach ($keyArr as $key) {
    $cursor = $cursor[$key];
}

echo $cursor;

会回声

bye

更新:

如果要更改多维数组中的值,请使用递归函数,如下所示:

function changeValue($array, $path, $value) {
    if (empty($path)) {
        return $value;
    }
    $key = array_shift($path);
    $array[$key] = changeValue($array[$key], $path, $value);
    return $array;
}

$arr = [
    "something" => [
        'something_else' => [
            "another_thing" => "boo"
        ]
    ],
    "something2" => [
        'something_elseghf' => [
            "another_thingfg" => [
                "hi" => "bye"
            ]
        ]
    ],
    "info" => [
        'something_else2' => [
            "another_thingh" => "boo"
        ]
    ],
];

$keyArr = ["something2", 'something_elseghf', "another_thingfg", "hi"];

$changedArray = changeValue($arr, $keyArr, 'New value!');

print_r($changedArray);

将输出

Array
(
    [something] => Array
        (
            [something_else] => Array
                (
                    [another_thing] => boo
                )

        )

    [something2] => Array
        (
            [something_elseghf] => Array
                (
                    [another_thingfg] => Array
                        (
                            [hi] => New value!
                        )

                )

        )

    [info] => Array
        (
            [something_else2] => Array
   

         (
                [another_thingh] => boo
            )

    )
)

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

PHP无法从多维数组中获取价值

来自分类Dev

从php多维数组中获取价值

来自分类Dev

从多维数组中获取具有特定值的键

来自分类Dev

从PHP数组中的键中获取价值

来自分类Dev

PHP-从深度未知的多维数组中获取具有特定数组键的所有值

来自分类Dev

PHP:获取多维数组中的键

来自分类Dev

获取多维数组中的键

来自分类Dev

PHP多维数组搜索并获取键的数组

来自分类Dev

在 PHP 中获取具有特定键格式的数组值

来自分类Dev

PHP多维数组的价值?

来自分类Dev

从具有匹配值php的多维数组中获取特定数组

来自分类Dev

使用php检查键是否在多维数组中具有值

来自分类Dev

从PHP数组中获取价值?

来自分类Dev

从php中具有相同键名的多维数组中获取状态

来自分类Dev

如何获得具有不同键但在php中具有相同值的两个多维数组的差异?

来自分类Dev

从具有给定ID的子数组中获取价值

来自分类Dev

如何从扁平化具有值和键的多维数组中获取字符串?

来自分类Dev

在PHP中合并具有不同长度的多维数组

来自分类Dev

在PHP中对具有多个值的多维数组进行排序

来自分类Dev

如何使用PHP cURL发送多维数组而没有嵌套数组中的数组键?

来自分类Dev

在PHP中更改多维数组的特定键

来自分类Dev

多维数组中的PHP iconv键

来自分类Dev

PHP-在多维数组中查找键

来自分类Dev

在循环php中从多维数组调用键

来自分类Dev

PHP仅从键与其他数组相交的多维数组中获取值

来自分类Dev

如何在新数组中获取Php多维数组相同键的相同值的相关总数?

来自分类Dev

PHP,数组操作以获取具有相同名称的键

来自分类Dev

获取与数组中的特定值匹配的多维数组的所有键

来自分类Dev

PHP-根据特定键生成具有所有值的多维数组

Related 相关文章

  1. 1

    PHP无法从多维数组中获取价值

  2. 2

    从php多维数组中获取价值

  3. 3

    从多维数组中获取具有特定值的键

  4. 4

    从PHP数组中的键中获取价值

  5. 5

    PHP-从深度未知的多维数组中获取具有特定数组键的所有值

  6. 6

    PHP:获取多维数组中的键

  7. 7

    获取多维数组中的键

  8. 8

    PHP多维数组搜索并获取键的数组

  9. 9

    在 PHP 中获取具有特定键格式的数组值

  10. 10

    PHP多维数组的价值?

  11. 11

    从具有匹配值php的多维数组中获取特定数组

  12. 12

    使用php检查键是否在多维数组中具有值

  13. 13

    从PHP数组中获取价值?

  14. 14

    从php中具有相同键名的多维数组中获取状态

  15. 15

    如何获得具有不同键但在php中具有相同值的两个多维数组的差异?

  16. 16

    从具有给定ID的子数组中获取价值

  17. 17

    如何从扁平化具有值和键的多维数组中获取字符串?

  18. 18

    在PHP中合并具有不同长度的多维数组

  19. 19

    在PHP中对具有多个值的多维数组进行排序

  20. 20

    如何使用PHP cURL发送多维数组而没有嵌套数组中的数组键?

  21. 21

    在PHP中更改多维数组的特定键

  22. 22

    多维数组中的PHP iconv键

  23. 23

    PHP-在多维数组中查找键

  24. 24

    在循环php中从多维数组调用键

  25. 25

    PHP仅从键与其他数组相交的多维数组中获取值

  26. 26

    如何在新数组中获取Php多维数组相同键的相同值的相关总数?

  27. 27

    PHP,数组操作以获取具有相同名称的键

  28. 28

    获取与数组中的特定值匹配的多维数组的所有键

  29. 29

    PHP-根据特定键生成具有所有值的多维数组

热门标签

归档