Php 数组_移位函数-参数不通过引用
我需要使用两个数组-初始数组和没有第一个元素的相同数组。例如:Php 数组_移位函数-参数不通过引用,php,Php,我需要使用两个数组-初始数组和没有第一个元素的相同数组。例如: public function foobar($a, $b, $c) { $initial_array = get_defined_var(); var_dump($initial_array); // ok $sliced_array = array_shift($initial_array); var_dump($sliced_array); // int(1) ??? //initial arr
public function foobar($a, $b, $c)
{
$initial_array = get_defined_var();
var_dump($initial_array); // ok
$sliced_array = array_shift($initial_array);
var_dump($sliced_array); // int(1) ???
//initial array should be 'a' => $a, 'b' => $b, 'c' => $c
// sliced array should be 'b' => $b, 'c' => $c
}
问题是切片数组似乎是一些奇怪的值,如int(1)…这里怎么了?array\u shift修改原始数组,并返回移位元素,在本例中,移位元素的值为$a=1。array\u shift修改原始数组,并返回移位元素,这是本例中$a=1的值。您可以尝试使用: 您可以尝试以下方法:
array\u shift
通过删除其第一个元素(而不是返回其接收的数组的副本)来修改其接收的数组
如果要删除第一个元素的initial_array
副本,请尝试以下操作
public function foobar($a, $b, $c)
{
$initial_array = get_defined_var();
$sliced_array = $initial_array; //copy the array
array_shift($sliced_array); //remove 1st element
}
array\u shift
通过删除其第一个元素(而不是返回其接收的数组的副本)来修改其接收的数组
如果要删除第一个元素的initial_array
副本,请尝试以下操作
public function foobar($a, $b, $c)
{
$initial_array = get_defined_var();
$sliced_array = $initial_array; //copy the array
array_shift($sliced_array); //remove 1st element
}
你也应该解释一下如何实现他们想要的,否则这个答案就是incomplete@SterlingArcher,我认为OP只是想知道为什么会发生,但是谁会在Main上问为什么会出现问题而不想知道如何解决它呢?你应该解释如何实现他们想要的,否则这个答案是incomplete@SterlingArcher,我想OP只是想知道为什么会这样,但是谁在主屏幕上问为什么会出问题而不想知道如何解决呢?