欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

PHP 如何在多维数组中查找键呢?

程序员文章站 2022-05-22 11:43:28
...
我的数组是这样的:

$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,'
'; } }
相关标签: php