$a[0][1]=1;
$a[0][5][1]=2;
$a[0][5][2]=3;
print_r($a);
以下代码生成输出
Array
(
[0] => Array
(
[1] => 1
[5] => Array
(
[1] => 2
[2] => 3
)
)
)
当我这样做时
$a[0][1]=1;
$a[0][5][1]=2;
$x='[0][5][2]';
$a{$x}=3;
print_r($a);
输出
Array
(
[0] => Array
(
[1] => 1
[5] => Array
(
[1] => 2
)
)
[[0][5][2]] => 3
)
但我希望输出与第一个相同。
我的数组索引来自一个变量,并被分配给$ a;
有没有办法做到这一点?
答案 0 :(得分:0)
这可能是一个解决方案,
echo '<pre>';
$a[0][1]=1;
$a[0][5][1]=2;
$a[0][5][2]=3;
print_r($a);
foreach($a as $k=>$v){
$new_array[$k]=$v;
}
print_r($new_array);
答案 1 :(得分:0)
我使用eval
函数解决了这个问题。基本上我避免使用eval
函数但没有找到任何其他方法。这是解决方案可能有助于其他
$a[0][1]=1;
$a[0][5][1]=2;
$x='[0][5][2]';
eval('$a'.$x.'=3;');
print_r($a);