Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/293.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 数组_移位函数-参数不通过引用_Php - Fatal编程技术网

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只是想知道为什么会这样,但是谁在主屏幕上问为什么会出问题而不想知道如何解决呢?