<?php
$interests[50] = array('fav_beverages' => "beer");
?>
现在我需要来自值beer
的索引(即50或索引可能是什么)。
我尝试了array_search()
,array_flip()
,in_array()
,extract()
,list()
来获得答案。
如果我错过了上述功能或我未列出的任何其他功能,请告诉我。答案将不胜感激。
感谢回复。但令我失望的是,它仍然没有用。顺便说一下,我有大量的数据,如&#34;啤酒&#34;); $ interests [50] = array(&#39; fav_cuisine&#39; =&gt;&#34; arabic&#34;); $ interests [50] = array(&#39; fav_food&#39; =&gt;&#34; hummus&#34;); ?&GT; 。我的方法是获得其他数据,例如&#34; arablic&#34;和鹰嘴豆泥&#34;来自用户输入&#34;啤酒&#34;。所以我唯一的联系是通过索引[50]。让我知道我的方法是否错误,我可以通过其他方式访问数据。我的大四告诉我,我不应该使用循环。
答案 0 :(得分:2)
这适用于你的情况。
$interests[50] = array('fav_beverages' => "beer");
function multi_array_search($needle, $interests){
foreach($interests as $interest){
if (array_search($needle, $interest)){
return array_search($interest, $interests);
break;
}
}
}
echo multi_array_search("beer", $interests);
答案 1 :(得分:1)
如果你的数组包含多个子数组并且你不知道哪个数组包含值beer
,那么你可以简单地遍历数组,然后通过子数组来搜索该值,然后返回索引(如果找到):
$needle = 'beer';
foreach ($interests as $index => $arr) {
foreach ($arr as $value) {
if ($value == $needle) {
echo $index;
break;
}
}
}