取决于索引数组的多维数组中的php设置值
在收集统计数据时,我需要处理具有不同数量索引的数组 我必须添加到取决于索引数组的多维数组中的php设置值,php,Php,在收集统计数据时,我需要处理具有不同数量索引的数组 我必须添加到$array[$ind1][$ind2]和$array[$ind1][$ind2][$ind3][$ind4] 是否可以创建类似于arrayAdd($number,$arrayOfIndices) 其中在第一种情况下,$arrayOfIndices是[$ind,$ind2] 第二种情况[$ind1,$ind2,$ind3,$ind4] 根据$arrayOfIndices的计数,我解决了写出来的问题 不过,我们希望采用更优雅、更通用的
$array[$ind1][$ind2]
和$array[$ind1][$ind2][$ind3][$ind4]
是否可以创建类似于arrayAdd($number,$arrayOfIndices)
其中在第一种情况下,$arrayOfIndices
是[$ind,$ind2]
第二种情况[$ind1,$ind2,$ind3,$ind4]
根据$arrayOfIndices
的计数,我解决了写出来的问题
不过,我们希望采用更优雅、更通用的方式。
<?php
function array_add(&$array, array $indices, $value) {
count($indices)==1
? $array[$indices[0]] = $value
: array_add($array[array_shift($indices)], $indices, $value);
}
$data = ['pig'=>'man'];
$indices = ['foo', 'bar', 'baz'];
array_add($data, $indices, 'bat');
var_export($data);
你能展示一下你为解决这个问题而编写的代码吗?很好的解决方案。非常感谢。
array (
'pig' => 'man',
'foo' =>
array (
'bar' =>
array (
'baz' => 'bat',
),
),
)