我有多维数组,我想替换
的值 $data['meta']['attr']['road'] with an array ['test']
我不知道它们只能通过键阵列
获得$keys = ['meta', 'attr', 'road'];
这只是一个示例键可能是任何因此想要搜索每个元素,检查它并替换是否找到键
我的多维数组如下:
$data = ['meta' => [
'time' => 11.364,
'count' => 3,
'attr' => [
'id'=> 7845,
'road' => [
'length' => 'km',
'width' => 'm'
]
]
],
'Assets' => [15,78,89]
];
看起来很复杂的搜索和替换算法真的卡住......有什么想法吗?
答案 0 :(得分:0)
$keys = ['meta', 'attr', 'road'];
$arr = &$data;
foreach($keys as $key)
{
$arr = &$arr[$key];
}
$arr = ['test'];
答案 1 :(得分:0)
您可以使用括号和键来访问多维数组值。
// set
$someArray['key']['key'] = 'value';
// get
$someVar = $someArray['key']['key'];
See arrays section on Php reference
所以在你的情况下是;
$data['meta']['attr']['road'] = array('test' => 'value');