如何使用array_slice返回包含已删除元素的已删除元素的数组

时间:2016-02-09 11:10:43

标签: php arrays

function take()
{
$array = [1, 2, 3];
return array_slice($array, 2);
}

所以这个函数返回一个包含3的数组,但是我想返回一个包含1和2的数组,这有可能吗?

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));
}