在PHP中通过键数组更新值

问题描述 投票:0回答:1

假设我有一个数组的keyseg $array_keys = ['a','b','c'];我想从$array_keyseg中按值更新$array。$array[$array_keys[0]][$array_keys[1]][$array_keys[0]] = "new text";问题是$array_keys的长度可以改变。有什么方法可以让我通过循环键或过滤数组得到同样的结果吗?

php arrays multidimensional-array
1个回答
0
投票

如果我对这个问题理解正确的话。这是你的解决方案。

$array_keys = ['a','b','c'];
$array = ['a' => 1, 'b' => 2, 'd' => 3];

function updateArrayByKyes(&$array, $array_keys, $new_value) {
    foreach ($array_keys as $key) {
        if (isset($array[$key])) {
            $array[$key] = $new_value;
        }
    }
}

updateArrayByKyes($array, $array_keys, 10);
© www.soinside.com 2019 - 2024. All rights reserved.