簡體   English   中英

PHP-訪問數組末尾計數元素的優雅(快速)方法?

[英]PHP - elegant (fast) way to access elements counting from end of array?

我有一個數組,無論數組長度如何,我都希望獲取“負三”元素。 (如果那沒有道理,請發表評論,我會澄清)。

顯而易見的方法是$arr[count($arr)-4]但這感覺很笨拙。

有沒有一種快速,優雅的方法來做到這一點?

更新

還在擺弄,對此有什么想法嗎?

array_slice($arr,-4,-3); 

就在這里:

嘗試這樣的事情:

$newArray = array_slice($array, -3);

假設您有數字索引,則顯而易見的方法是在恆定時間內返回所需的單個值。 數組大小已為PHP所熟知,它只是跳轉到所需的偏移量並為您提供結果。

array_slice完成許多工作,將數組大小與偏移量進行比較,計算循環條件,創建一個新的數組來存儲切片,循環遍歷現有數組的一部分,將值復制到新數組中,然后返回數組給你。

http://lxr.php.net/opengrok/xref/PHP_TRUNK/ext/standard/array.c

您可以使用$last = end($arr); 然后使用prev($arr); 兩次以獲得2個其他元素。

哦,如果您沒有至少3個元素,請檢查它們是否返回FALSE。

array_slice()嗎?

array_slice($a, -3)

嘗試使用array_slice()函數,將負偏移量作為第二個參數。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM