function take()
{
$array = [1, 2, 3];
return array_slice($array, 2);
}
所以这个函数返回一个包含3的数组,但是我想返回一个包含1和2的数组,这有可能吗?
答案 0 :(得分:5)
array_slice()
takes up to four parameters:
<强>阵列强> 输入数组。
<强>偏移强> 如果offset是非负的,则序列将从数组中的该偏移量开始。如果offset是负数,则序列将从数组的末尾开始。
<强>长度强> 如果给出长度并且是正数,则序列将包含其中的许多元素。如果数组短于长度,则仅存在可用的数组元素。如果给定长度并且为负,则序列将停止来自数组末尾的许多元素。如果省略,那么序列将包含从偏移到数组结束的所有内容。
<强> preserve_keys 强> 请注意,array_slice()将默认重新排序并重置数值数组索引。您可以通过将preserve_keys设置为TRUE来更改此行为。
您可以使用偏移和长度参数一起返回数组中的前2个元素,如下所示:
function take()
{
$array = [1, 2, 3];
return array_slice($array, 0, 2);
}
通常,请使用以下内容返回第一个 x
元素
$x = 2; //with $x being the number of elements to return from the start
return array_slice($array, 0, $x);
答案 1 :(得分:0)
如果要返回数组的剩余部分,请使用array_diff
。
function take()
{
$array = [1, 2, 3];
return array_diff ($array, array_slice($array, 2));
}