Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/tensorflow/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP嵌套数组中的搜索_Php - Fatal编程技术网

PHP嵌套数组中的搜索

PHP嵌套数组中的搜索,php,Php,我一直在深入研究并尽可能多地学习PHP数组,但遇到了一个我无法理解的障碍 在我的示例代码中,我有一个如下所示的数组: $array = array("fruit" => array("apple", "orange", "pear"), "veg" => array("carrot","celery")); 现在,在代码的其他地方,我有一个名为$MyFavoriteItem的变量 $myfavouriteitem = "apple"; 使用$myFavoriteItem变量的值,

我一直在深入研究并尽可能多地学习PHP数组,但遇到了一个我无法理解的障碍

在我的示例代码中,我有一个如下所示的数组:

$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); }));