PHP 如何在多維陣列中尋找鍵呢?

來源:互聯網
上載者:User
我的數組是這樣的:

$arr = array(
'a' => Array(
'1' => '[大]',
'2' => '[小]',
'3' => '[多]',
'4' => '[少]',
)
'b' => Array(
'1' => '[你]',
'2' => '[我]',
'3' => '[她]',
'4' => '[它]',
)
)

我想要根據 [你] 能找到 1 同時還能找到再上一級的鍵 b。

array_search 貌似只能尋找一維數組,請教大家了。

回複內容:

我的數組是這樣的:

$arr = array(
'a' => Array(
'1' => '[大]',
'2' => '[小]',
'3' => '[多]',
'4' => '[少]',
)
'b' => Array(
'1' => '[你]',
'2' => '[我]',
'3' => '[她]',
'4' => '[它]',
)
)

我想要根據 [你] 能找到 1 同時還能找到再上一級的鍵 b。

array_search 貌似只能尋找一維數組,請教大家了。

有沒有做過類似無限極分類的功能??知道做這個功能的表是怎麼設計的嗎??

例如:商品分類表

cat_id  cat_name  pid   1       test     0  2       test1    0  3       test3    0  4       test4    1  5       test5    2  ......

這個應該熟悉吧, 若是給你一個分類id,我要找他的所有子分類包括他自身該怎麼做?? 或者 找他的所有父類包括塔子什嗎??

關於你的問題,若是你有辦法把多維陣列的 鍵名 格式化成類似上面的表的結構,然後你提供一個值,在數組裡面尋找到這個值對應的key 後 , 再在格式化後的數組裡面找,就能得到你想要的結果。

遍曆每一個子數組,遍曆的時候記得把子數組的名字放到累計變數中,最後找到的時候把累計變數輸出。

其實就是在樹中進行葉子節點的尋找

不知道是不是你想要的。

foreach ($arr as $key=>$value) {    $ikey = array_search('[你]', $value);    if ($ikey) {       echo $key,'--',$ikey,'
'; }}
  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.