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 貌似只能查找一维数组,请教大家了。
有没有做过类似无限极分类的功能??知道做这个功能的表是怎么设计的吗??
例如:商品分类表
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,'
';
}
}
下一篇: 集群与分布式的区别