如何从数组的末尾删除第n个元素

时间:2013-12-16 21:33:21

标签: php arrays

我知道您可以使用“array_pop”删除数组中的最后一个元素。但如果我想删除最后的2或3,我会做什么?

那么如何删除此数组中的最后2个元素?

<?php
$stack = array("orange", "banana", "apple", "raspberry");
$fruit = array_pop($stack);
print_r($stack);
?>

5 个答案:

答案 0 :(得分:3)

使用array_splice并指定要删除的元素数量。

$stack = array("orange", "banana", "apple", "raspberry");
$fruit = array_splice($stack, -2);
print_r($stack);

输出

阵列

(
    [0] => orange
    [1] => banana
)

答案 1 :(得分:3)

您可以array_slice()使用否定length

function array_remove($array, $n) {
    return array_slice($array, 0, -$n);
}

测试:

print_r( array_remove($stack, 2) );

输出:

Array
(
    [0] => orange
    [1] => banana
)

答案 2 :(得分:1)

作为押韵:弹出两次,或者是array_slice!

换句话说:http://php.net/array_slice

答案 3 :(得分:1)

为了删除该数组的最后2个元素,您应该以这种方式使用array_slice:

$ fruits = array_slice($ stack,0,-2);

答案 4 :(得分:0)

您可以只使用两次 array_pop()。像这样运行它:

<?php
$stack = array("orange", "banana", "apple", "raspberry");
array_pop($stack);
array_pop($stack);
print_r($stack);
?>

输出:

(
    [0] => orange
    [1] => banana
)

array_pop()的返回值是您刚刚删除的元素,不是数组。因此,如果您不再需要该元素,只需根据需要多次调用该函数并继续。