Maison > Article > développement back-end > PHP 如何在多维数组中查找键呢?
我的数组是这样的:
$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>