是否有像in_array()
这样的函数,可以检查数组中的内容吗?
我试过了:
$day_events = Array();
array_push($day_events,array('aa','bb','cc'));
array_push($day_events,array('aa','bc','cd'));
array_push($day_events,array('ac','bd','ce'));
echo '<br />';
echo in_array('aa',$day_events); // empty
echo '<br />';
foreach ($day_events as &$value) {
echo in_array('aa',$value); // 11
}
第一个in_array()这是我正在寻找的函数(避免循环)给出了空。
答案 0 :(得分:0)
使用此函数,因为in_array
本身不支持多维数组:
function in_array_r($needle, $haystack, $strict = false) {
foreach ($haystack as $item) {
if (($strict ? $item === $needle : $item == $needle) || (is_array($item) && in_array_r($needle, $item, $strict))) {
return true;
}
}
return false;
}
在这种情况下,你会这样使用它:
echo in_array_r('aa', $day_events) ? 'Found' : 'Not found';
答案 1 :(得分:0)
顺便说一下,它没有避开第一个,它避开了最后一个'ac'。所以你从前两个开始就是真的。你的代码有效,但我不确定这是不是你想要的。