您好,登錄后才能下訂單哦!
怎么在PHP中通過二維數組鍵值獲取一維鍵名?相信很多沒有經驗的人對此束手無策,為此本文總結了問題出現的原因和解決方法,通過這篇文章希望你能解決這個問題。
有如下既定數組:
$inviteType = [ '掃碼' => [ 'type' => 0, 'point' => 5, ], '評論' => [ 'type' => 1, 'point' => 5, ], '分享' => [ 'type' => 2, 'point' => 10, ], '邀請' => [ 'type' => 3, 'point' => 50, ], '關注' => [ 'type' => 4, 'point' => 50, ], '簽到' => [ 'type' => 5, 'point' => 5, ], '完善資料' => [ 'type' => 6, 'point' => 50, ], ];
需求:
通過type里面的鍵值,比如0這個值,獲取到“掃碼”這個中文文本,是個很頭痛的問題,最后通過查找資料,發現了一個很好用的方法,可以實現解決這個需求:
$arr = array_map('array_shift',$inviteType); echo "<pre>"; print_r($arr); echo "</pre>";
array_map('array_shift',array)
,該方法的意思是將array的每一項的第一個鍵值移除,并返回該值,注意此時的鍵名仍然是array的鍵名,輸出結果如下:
Array
(
[掃碼] => 0
[評論] => 1
[分享] => 2
[邀請] => 3
[關注] => 4
[簽到] => 5
[完善資料] => 6
)
注意!返回的值是每一項的第一個鍵值,如果將point放在二維數組第一個,則返回的結果就是point的值了(適用范圍狹窄),因此實際使用中需要把指定字段調整到第一個!
得到了想要的數據了,自然能獲取到相對的鍵名了:
$type = 0; $key = array_search($type,$arr); echo $key;
輸出結果如下:
掃碼
所以通過二維數組的每一項第一個鍵值獲取一維鍵名可以總結為下面這行代碼:
array_search('type',array_map('array_shift',$array))
看完上述內容,你們掌握怎么在PHP中通過二維數組鍵值獲取一維鍵名的方法了嗎?如果還想學到更多技能或想了解更多相關內容,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。