繁体   English   中英

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

[英]How to remove the nth element from the end of an array

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

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

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

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

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

输出

数组

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

您可以使用具有负length array_slice()

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

测试:

print_r( array_remove($stack, 2) );

输出:

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

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

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

正如韵文所说:pop 两次,或 array_slice!

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

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

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

输出:

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM