我知道您可以使用“array_pop”删除数组中的最后一个元素。但如果我想删除最后的2或3,我会做什么?
那么如何删除此数组中的最后2个元素?
<?php
$stack = array("orange", "banana", "apple", "raspberry");
$fruit = array_pop($stack);
print_r($stack);
?>
答案 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!
答案 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()的返回值是您刚刚删除的元素,不是数组。因此,如果您不再需要该元素,只需根据需要多次调用该函数并继续。