PHP 如何在多维数组中查找键呢?
迷茫
迷茫 2017-04-11 10:13:51
[PHP讨论组]

我的数组是这样的:

$arr = array(
'a' => Array(
'1' => '[大]',
'2' => '[小]',
'3' => '[多]',
'4' => '[少]',
)
'b' => Array(
'1' => '[你]',
'2' => '[我]',
'3' => '[她]',
'4' => '[它]',
)
)

我想要根据 [你] 能找到 1 同时还能找到再上一级的键 b。

array_search 貌似只能查找一维数组,请教大家了。

迷茫
迷茫

业精于勤,荒于嬉;行成于思,毁于随。

全部回复(3)
ringa_lee

有没有做过类似无限极分类的功能??知道做这个功能的表是怎么设计的吗??

例如:商品分类表

cat_id  cat_name  pid 
  1       test     0
  2       test1    0
  3       test3    0
  4       test4    1
  5       test5    2
  ......

这个应该熟悉吧, 若是给你一个分类id,我要找他的所有子分类包括他自身该怎么做?? 或者 找他的所有父类包括塔子什么??

关于你的问题,若是你有办法把多维数组的 键名 格式化成类似上面的表的结构,然后你提供一个值,在数组里面查找到这个值对应的key 后 , 再在格式化后的数组里面找,就能得到你想要的结果。

PHP中文网

遍历每一个子数组,遍历的时候记得把子数组的名字放到累计变量中,最后找到的时候把累计变量输出。

其实就是在树中进行叶子节点的查找

阿神

不知道是不是你想要的。

foreach ($arr as $key=>$value) {
    $ikey = array_search('[你]', $value);
    if ($ikey) {
       echo $key,'--',$ikey,'<br>';
    }
}
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号