检查数组是不是至少包含 PHP 中的一组值
Posted
技术标签:
【中文标题】检查数组是不是至少包含 PHP 中的一组值【英文标题】:Check that an array includes at least a set of values in PHP检查数组是否至少包含 PHP 中的一组值 【发布时间】:2015-11-27 12:04:57 【问题描述】:如何检查$courseAreas
数组是否包含至少“ayrshire”
和“fife”?
我尝试了以下代码,但它不起作用:
$courseAreas = array('ayrshire', 'fife', 'cheshire', 'lanarkshire');
$includesAyrshireAndFife = (count(array_intersect(array('ayrshire', 'fife'), $courseAreas)) >= 2 ? true : false);
【问题讨论】:
似乎工作得很好?究竟什么“不起作用”? 【参考方案1】:尝试将? true : false
放在大括号外
$courseAreas = array('ayrshire', 'fife', 'cheshire', 'lanarkshire');
$includesAyrshireAndFife = (count(array_intersect(array('ayrshire', 'fife'), $courseAreas)) >= 2) ? true : false;
var_dump($includesAyrshireAndFife);
$courseAreas = array('ayrshire', 'stirlingshire', 'cheshire', 'lanarkshire');
$includesAyrshireAndFife = (count(array_intersect(array('ayrshire', 'fife'), $courseAreas)) >= 2) ? true : false;
var_dump($includesAyrshireAndFife);
Seems to work
但是您的原件似乎也运行良好....在什么情况下您发现它失败了?
【讨论】:
【参考方案2】:$courseAreas = array('ayrshire', 'fife', 'cheshire', 'lanarkshire');
$includesAyrshireAndFife = count(array_intersect(array('ayrshire', 'fife'), $courseAreas)) > 1;
你甚至不需要三元运算符,因为 > 它已经是布尔表达式。
编辑:
我注意到您的代码也可以正常工作。我只是缩短了它。
【讨论】:
【参考方案3】:你可以使用in_array()
见:- http://www.w3schools.com/php/func_array_in_array.asp
【讨论】:
以上是关于检查数组是不是至少包含 PHP 中的一组值的主要内容,如果未能解决你的问题,请参考以下文章