[英]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_pop()
或array_slice
array_pop($array);
要么
array_slice($array, 0, -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($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 ]] )
在您的代码中,您已将start(offset)设置为-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
)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.