獲?。赡埽╆P(guān)聯(lián)數(shù)組中的第一個鍵?確定可能關(guān)聯(lián)數(shù)組中第一個鍵的最佳方法是什么?我第一次認(rèn)為它只是預(yù)先處理數(shù)組,然后立即打破它,如下所示:foreach ($an_array as $key => $val) break;因此,讓$ key包含第一個鍵,但這似乎效率低下。有沒有人有更好的解決方案?
3 回答

慕桂英3389331
TA貢獻(xiàn)2036條經(jīng)驗 獲得超8個贊
從PHP 7.3開始,有一個新的內(nèi)置函數(shù)array_key_first()
,它將從給定數(shù)組中檢索第一個鍵而不重置內(nèi)部指針。查看文檔以獲取更多信息。
reset($array);$first_key = key($array);
它與您的初始代碼基本相同,但開銷較少,而且更明顯的是發(fā)生了什么。
只記得打電話reset
,或者你可以獲得陣列中的任何鍵。您也可以使用end
而不是reset
獲取最后一個鍵。
如果你想讓鍵獲得第一個值,reset
實際返回它:
$first_value = reset($array);
有一個特殊情況需要注意(所以首先檢查數(shù)組的長度):
$arr1 = array(false);$arr2 = array();var_dump(reset($arr1) === reset($arr2)); // bool(true)

青春有我
TA貢獻(xiàn)1784條經(jīng)驗 獲得超8個贊
array_keys
返回一個鍵數(shù)組。拿第一個條目?;蛘撸梢哉{(diào)用reset
陣列,然后調(diào)用key
。后一種方法可能稍微快一些(Thoug我沒有測試它),但它有重置內(nèi)部指針的副作用。
- 3 回答
- 0 關(guān)注
- 514 瀏覽
添加回答
舉報
0/150
提交
取消