是否可以获取值数组,例如:
$index = array('0' => '1', '1' => '4', '2' => '7');
并使用此更新位置$update['1']['4']['7']
处的另一个数组的位置?
我想也许我可以做类似下面的事情(但似乎我不能)......
for($build_key=0;$build_key<3; $build_key++){
$this_key .= "[".$index[$build_key]."]";
}
$update.$this_key = 'new data in';
更新
我不确定数组会有多少级别,这就是我尝试使用for循环的原因(我在for循环中放了'3',但也许我应该使用count($索引)而不是。
答案 0 :(得分:1)
喜欢这个吗?
$x = $index[0];
$y = $index[1];
$z = $index[2];
$update[$x][$y][$z] = 'new data in';
这适用于任何长度数组:
$index = array('0' => '1', '1' => '4', '2' => '7');
$where = &$update;
foreach ($index as $key => $value)
$where = &$where[$value];
$where = 'new data in';
答案 1 :(得分:1)
您可以只保留对您正在查看的当前数组的引用,而不是附加字符串:
$target =& $update;
for($build_key=0; $build_key < 3; $build_key++){
$target =& $target[$index[$build_key]];
}
$target = 'new data';
当然,如果$index
总是长达3个元素,那么硬编码会更容易!