本文實例講述了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相關內容感興趣的讀者可查看本站專題:《PHP數組(Array)操作技巧大全》、《php排序算法總結》、《PHP數據結構與算法教程》、《php程序設計算法總結》、《php字符串(string)用法總結》及《PHP常用遍歷算法與技巧總結》
希望本文所述對大家PHP程序設計有所幫助。
您可能感興趣的文章:- PHP實現二維數組(或多維數組)轉換成一維數組的常見方法總結
- php利用array_search與array_column實現二維數組查找
- PHP實現二維數組按照指定的字段進行排序算法示例
- php二維數組按某個鍵值排序的實例講解
- PHP實現二維數組中的查找算法小結
- PHP實現一維數組與二維數組去重功能示例
- PHP簡單實現二維數組的矩陣轉置操作示例
- PHP簡單實現二維數組賦值與遍歷功能示例
- PHP二維數組分頁2種實現方法解析