[英]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($a, -3)
嘗試使用array_slice()函數,將負偏移量作為第二個參數。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.