PHP嵌套数组中的搜索
我一直在深入研究并尽可能多地学习PHP数组,但遇到了一个我无法理解的障碍 在我的示例代码中,我有一个如下所示的数组:PHP嵌套数组中的搜索,php,Php,我一直在深入研究并尽可能多地学习PHP数组,但遇到了一个我无法理解的障碍 在我的示例代码中,我有一个如下所示的数组: $array = array("fruit" => array("apple", "orange", "pear"), "veg" => array("carrot","celery")); 现在,在代码的其他地方,我有一个名为$MyFavoriteItem的变量 $myfavouriteitem = "apple"; 使用$myFavoriteItem变量的值,
$array = array("fruit" => array("apple", "orange", "pear"), "veg" => array("carrot","celery"));
现在,在代码的其他地方,我有一个名为$MyFavoriteItem的变量
$myfavouriteitem = "apple";
使用$myFavoriteItem
变量的值,我想返回值“fruit”
我曾尝试在PHP中使用array\u search()
函数,但运气不好。在引入嵌套数组之前,我一直能够使用array\u search()
如果我从错误的角度来看这个问题,请告诉我。我最初的想法是使用数据库来存储这些信息(特别是因为我不熟悉数组);然而,对于这个特殊的项目来说,这是不可能的。考虑到这一点,我的数据集都将具有一对多关系(一个键具有多个值)
但是需要PHP5.3,并且可能比@zerkms解决方案慢。但是,嘿,这是一个功能性的单行程序!;) 太好了。谢谢,虫族。我能让它为我工作。我将花更多的时间回顾PHP数组。
foreach ($array as $key => $val) {
if (in_array($myfavouriteitem, $val)) {
echo $key;
break;
}
}
echo key(array_filter($array, function ($values) use ($myfavouriteitem) { return in_array($myfavouriteitem, $values); }));