Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/251.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
取决于索引数组的多维数组中的php设置值_Php - Fatal编程技术网

取决于索引数组的多维数组中的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',
    ),
  ),
)