我想知道是否有任何方法可以获取除最后一个索引之外的数组中的所有项目,就像在Python中一样,你可以做到
>>> a = [1,2,3,4,5]
>>> a[:-1]
[1,2,3,4]
我尝试array_slice($a, -1)
并且它不起作用,如果可以在不知道数组长度的情况下完成,也是最好的。
答案 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_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
)