繁体   English   中英

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_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()
array_pop()

尝试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 ]] )

在您的代码中,您已将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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM