簡體   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