php中数组拼接的长度问题是什么?

php中数组拼接的长度问题是什么?,php,arrays,Php,Arrays,我是php的初学者。我试图了解数组_splice()。我没有理解长度的争论。如果它是正的或负的,那么我无法理解返回的数组是如何形成的。请描述如何使用php中的array\u splice()函数处理此问题 $input = array("red", "green", "blue", "yellow"); array_splice($input, 1, -1); // $input is now array("red", "yellow") 这是怎么发生的?请帮助我理解这一点。这里使用的数

我是php的初学者。我试图了解数组_splice()。我没有理解长度的争论。如果它是正的或负的,那么我无法理解返回的数组是如何形成的。请描述如何使用php中的
array\u splice()
函数处理此问题

 $input = array("red", "green", "blue", "yellow");
 array_splice($input, 1, -1);
 // $input is now array("red", "yellow")

这是怎么发生的?请帮助我理解这一点。

这里使用的数组拼接语法是

阵列拼接(arg1、arg2、arg3)

arg1-已传递数组

arg2-阵列的起始位置。0引用第一个元素,1引用第二个元素。。等等

arg3-指定将删除多少个元素,以及返回数组的长度。如果此值设置为负数,则函数将在距离最后一个元素很远的地方停止

因此,在代码中,起始位置为1,即第二个元素“绿色”。 最后一个参数是-1,即第二个位置“蓝色”

因此,它删除了值“green”和“blue”,剩下的是数组(“red”、“yellow”)

希望这有帮助


和平!xD

你说得对,对不起。(绿色,蓝色)是
阵列拼接
的结果,此时阵列为红色-黄色。阵列_拼接从位置1到-1移除元素)您尝试过吗?这是不可理解的吗?你还不明白什么?在这个例子中-
array\u splice($input,1,-1)与数组拼接($input,1,count($input)-1相同
阵列拼接($input,1,2)。使用
-1
可以删除最后一个元素之前(但不包括最后一个元素)的所有内容,而不必知道有多少元素。问题是要了解参数中的负值是如何工作的。。这让我很困惑……(尽管这件事很简单)@那太好了。。但是我不知道负值是如何返回新数组的。请以简单的方式解释,而不是像在php.net中那样。负值表示从末尾丢弃一个值。如果它是-2,则表示从结尾处丢弃了两个值。非常感谢,它做得很好。