溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

怎么在PHP中通過二維數(shù)組鍵值獲取一維鍵名

發(fā)布時間:2021-04-06 17:27:34 來源:億速云 閱讀:187 作者:Leah 欄目:開發(fā)技術(shù)

怎么在PHP中通過二維數(shù)組鍵值獲取一維鍵名?相信很多沒有經(jīng)驗的人對此束手無策,為此本文總結(jié)了問題出現(xiàn)的原因和解決方法,通過這篇文章希望你能解決這個問題。

有如下既定數(shù)組:

$inviteType = [
      '掃碼' => [
        'type' => 0,
        'point' => 5,
      ],
      '評論' => [
        'type' => 1,
        'point' => 5,
      ],
      '分享' => [
        'type' => 2,
        'point' => 10,
      ],
      '邀請' => [
        'type' => 3,
        'point' => 50,
      ],
      '關(guān)注' => [
        'type' => 4,
        'point' => 50,
      ],
      '簽到' => [
        'type' => 5,
        'point' => 5,
      ],
      '完善資料' => [
        'type' => 6,
        'point' => 50,
      ],
    ];

需求:

通過type里面的鍵值,比如0這個值,獲取到“掃碼”這個中文文本,是個很頭痛的問題,最后通過查找資料,發(fā)現(xiàn)了一個很好用的方法,可以實現(xiàn)解決這個需求:

$arr = array_map('array_shift',$inviteType);
echo "<pre>";
print_r($arr);
echo "</pre>";

array_map('array_shift',array),該方法的意思是將array的每一項的第一個鍵值移除,并返回該值,注意此時的鍵名仍然是array的鍵名,輸出結(jié)果如下:

Array
(
    [掃碼] => 0
    [評論] => 1
    [分享] => 2
    [邀請] => 3
    [關(guān)注] => 4
    [簽到] => 5
    [完善資料] => 6
)

注意!返回的值是每一項的第一個鍵值,如果將point放在二維數(shù)組第一個,則返回的結(jié)果就是point的值了(適用范圍狹窄),因此實際使用中需要把指定字段調(diào)整到第一個!

得到了想要的數(shù)據(jù)了,自然能獲取到相對的鍵名了:

$type = 0;
$key = array_search($type,$arr);
echo $key;

輸出結(jié)果如下:

掃碼

所以通過二維數(shù)組的每一項第一個鍵值獲取一維鍵名可以總結(jié)為下面這行代碼:

array_search('type',array_map('array_shift',$array))

看完上述內(nèi)容,你們掌握怎么在PHP中通過二維數(shù)組鍵值獲取一維鍵名的方法了嗎?如果還想學(xué)到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注億速云行業(yè)資訊頻道,感謝各位的閱讀!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

php
AI