PHP - 抓取除最后一个索引之外的数组项


PHP - Grabbing items of an array except for last index

我想知道是否有任何方法可以抓取数组中除最后一个索引之外的所有项目,就像在 Python 中你可以做的一样

>>> a = [1,2,3,4,5]
>>> a[:-1]
[1,2,3,4]

我尝试了array_slice($a, -1)但它不起作用,最好是在不知道数组长度的情况下完成它。

使用 array_pop:

$array = array(1, 2, 3, 4, 5);
$last = array_pop($array);
print_r($array);

输出:

Array ( [0] => 1 [1] => 2 [2] => 3 [3] => 4 )

PHPFiddle 链接: http://phpfiddle.org/main/code/i02x-w9m6

您只需指定偏移量和负长度即可正常工作:

$array = array(1, 2, 3, 4, 5);
$array = array_slice($array, 0, -1);
print_r($array);
// will display Array ( [0] => 1 [1] => 2 [2] => 3 [3] => 4 ) 

当然,您也可以使用 array_pop() 从数组中删除最后一个元素:

array_pop($array);
print_r($array);
// will display Array ( [0] => 1 [1] => 2 [2] => 3 [3] => 4 ) 

参考
array_slice()
array_pop()

尝试array_pop()array_slice

array_pop($array);

array_slice($array, 0, -1);

尝试array_pop或array_slice

array_slice($a, 0, -1);
print_r($a);
  // or
$arr = array_pop($a);
print_r($a);

对于array_slice参数是

array array_slice ( array $array , int $offset [, int $length = NULL [, bool $preserve_keys = false ]] )

在您的代码中,您已将开始(偏移量)设置为 -1,这就是它不起作用的原因

array_slice($a, 0, -1);这里$a数组0偏移量或起点-1长度

数组切片是函数,你可以使用

$k = array( "India", "UK", "USA" );
$sliced = array_slice($k, 0, -1); 
print_r($sliced);

输出:

Array
(
    [0] => India
    [1] => UK
)