检查数组的其中一个元素是否在其他数组中

时间:2017-03-30 11:08:17

标签: php

我想查看优惠券是否对某个活动有效。 凭证在特定日期(mo-su)有效,存储在数组中:

$validOn = [1,3,4]; // Monday, Thursday

事件可能在一天或多天发生:

$event = [2,6]; // Tuesday, Saturday (unique)

如何检查优惠券是否对指定活动有效?

valid([2,6], $validOn); // false
valid([1,6], $validOn); // true
valid([1,4], $validOn); // true
valid([3], $validOn);   // true
etc etc

2 个答案:

答案 0 :(得分:2)

您可以使用array_intersect

function valid($a, $b) {
   return  count(array_intersect($a, $b)) > 0;
}

答案 1 :(得分:1)

试试这个

$result = array_intersect($validOn, $event);
if(count($result) > 0) {
  //we have a match
}

有关更多信息,请参阅:http://php.net/manual/en/function.array-intersect.php