我正在使用 PHP 5.3.5,但我遇到了一个错误。我有一个数组
$input = array(
0=>array(
'a'=>'one0',
'b'=>'two0',
'c'=>'three0',
'd'=>'four0',
'e'=>'five0'
),
1=>array(
'a'=>'one1',
'b'=>'two1',
'c'=>'three1',
'd'=>'four1',
'e'=>'five1'
)
);
我使用foreach 中的 (value by reference)array_splice
从每个数组中删除初始两个值&
foreach ($input as $bk => &$bv) {
$op[]=array_splice($bv,0,2);
}
现在,当我看到$input
then 它&
在第二个数组之前添加了一个。
var_dump($input);
显示了这个
array
0 =>
array
'c' => string 'three0' (length=6)
'd' => string 'four0' (length=5)
'e' => string 'five0' (length=5)
1 => & <====================================From where this `&` comes?
array
'c' => string 'three1' (length=6)
'd' => string 'four1' (length=5)
'e' => string 'five1' (length=5)
来自哪里,它&
是如何产生这样的数组的?它有效吗?
如果我在 foreach 中删除&
,它不会给我想要的数组。难道我做错了什么?