如何用不同的变量替换多数组变量的一部分


How to replace part of a multi array variable with a different variable?

下面是我想要完成的一个例子:

$array['aaa']['bbb']['ccc'] = "value";
$subarray = "['bbb']['ccc']";
echo $array['aaa']$subarray;       // these 2 echos should be the same
echo $array['aaa']['bbb']['ccc'];  // these 2 echos should be the same

应显示与$array['aaa']['bbb']['ccc']相同,即"value"。

当然,这行不通。但有什么简单的解决办法吗?可能有一些功能和$subarray值可以用作参数和/或作为数组本身,如:$subarray = array('bbb','ccc');我不介意,只要它工作。

您可以尝试如下操作:

$subarray = "['bbb']['ccc']";
$temp = parse_str("'$array['aaa']".$subarray);
echo $temp;

OR忽略单引号-

$subarray = "[''bbb''][''ccc'']";
$temp = parse_str("'$array[''aaa'']".$subarray);
echo $temp;

也可以参考- http://php.net/manual/en/function.parse-str.php

试试使用数组块函数http://php.net/manual/en/function.array-chunk.php

这是实际工作!!

$array['aaa']['bbb']['ccc'] = "value";
$subarray = "['bbb']['ccc']"; 
$string = 'echo $array[''aaa'']' . $subarray . ';';
eval($string);