首頁  >  文章  >  後端開發  >  PHP 如何在多維數組中尋找鍵?

PHP 如何在多維數組中尋找鍵?

WBOY
WBOY原創
2016-09-06 08:57:08856瀏覽

我的陣列是這樣的:

$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 看起來只能找一維數組,請教大家了。

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

例如:商品分類表

<code>cat_id  cat_name  pid 
  1       test     0
  2       test1    0
  3       test3    0
  4       test4    1
  5       test5    2
  ......
</code>

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

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

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

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

不知道是不是你想要的。

<code>foreach ($arr as $key=>$value) {
    $ikey = array_search('[你]', $value);
    if ($ikey) {
       echo $key,'--',$ikey,'<br>';
    }
}</code>
陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
上一篇:redis 快取策略下一篇:redis 快取策略