[英]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.