我想知道是否有任何方法可以抓取数组中除最后一个索引之外的所有项目,就像在 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
)