$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;
有什么办法可以做到这一点吗?
这可能是一个解决方案,
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);
我使用eval
函数解决了这个问题。基本上我避免eval
功能,但没有找到任何其他方法。这是解决方案,它可能有助于其他
$a[0][1]=1;
$a[0][5][1]=2;
$x='[0][5][2]';
eval('$a'.$x.'=3;');
print_r($a);