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

时间:2014-11-28 11:46:52

标签: php arrays slice

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

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

我尝试array_slice($a, -1)并且它不起作用,如果可以在不知道数组长度的情况下完成,也是最好的。

5 个答案:

答案 0 :(得分:2)

使用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

答案 1 :(得分:1)

尝试array_pop()array_slice

array_pop($array);

array_slice($array, 0, -1);

答案 2 :(得分:1)

您只需指定偏移量和负长度即可:

$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()

答案 3 :(得分:1)

尝试array_poparray_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长度

答案 4 :(得分:1)

Array Slice是函数,你可以使用

$k = array( "India", "UK", "USA" );

$sliced = array_slice($k, 0, -1); 

print_r($sliced);

输出:

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