我的陣列是這樣的:
$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>