2017-06-05 37 views
-1

您好,我有以下阵列:过滤器的foreach阵列基于价值这个数组里面

$tourcontent

enter image description here

及以下的foreach:

foreach($tourcontent as $set) 

我怎么能限制此foreach的输出结果仅限于子阵列categories[]包含值5的位置,其中$tourcontent[]['info']['categories'][] = 5 ?

+0

那你试试这么远吗?你能举一个你期望的输出的例子吗? –

回答

2

您可以使用in_array

foreach($tourcontent as $set) { 
    if (in_array(5, $set['info']['categories'])) { 
     // do stuff 
    } 
} 

这不仅会“做的东西”,以包含在其['info']['categories']阵列5$set秒。

1

或者,也许你并不需要的foreach所有的数组,你可以尝试这样的:

foreach($tourcontent['info']['categories'] as $category) 
{ 
    if($category == 5) 
    { 
    echo "found!" 
    } 
} 
+0

如果你看看'$ tourcontent [] ['info']'这个例子不起作用的例子。 – AbraCadaver

+0

对不起,我没有看到[0],谢谢你的信息 – criw