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

Nic*_*Nic 3 php arrays

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

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

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

Noo*_*oor 7

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

$stack = array("orange", "banana", "apple", "raspberry");
$fruit = array_splice($stack, -2);
print_r($stack);
Run Code Online (Sandbox Code Playgroud)

输出

大批

(
    [0] => orange
    [1] => banana
)
Run Code Online (Sandbox Code Playgroud)

  • 函数正确,但第二个参数是起始偏移量——*不是*第三个参数的元素数量。使用 array_splice($stack, -2) 删除从数组末尾倒数的元素。 (2认同)

Ama*_*ali 5

您可以使用array_slice()否定length

function array_remove($array, $n) {
    return array_slice($array, 0, -$n);
}
Run Code Online (Sandbox Code Playgroud)

测试:

print_r( array_remove($stack, 2) );
Run Code Online (Sandbox Code Playgroud)

输出:

Array
(
    [0] => orange
    [1] => banana
)
Run Code Online (Sandbox Code Playgroud)


Raü*_*eda 5

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

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