0

我目前有 2 个数组,我想在其中比较日期。这是我的数组的结构:

$bholidays = array('05-05-2014','26-05-2014');

$userdaysoff = array('23-05-2014','24-05-2014','25-05-2014', '26-05-2014');

目的是检测来自 $userdaysoff 的值是否存在于 $bholidays 数组中。

上面的效果很好,并且检测到两个数组中都存在 26-05-2014,但是如果 $userdaysoff 数组看起来像这样:

$userdaysoff = array('26-05-2014','27-05-2014','28-05-2014', '29-05-2014');

然后没有检测到重复的日期 26-05-2014。

有什么理由会发生这种情况吗?

这是我运行代码的方式:

$results = array_intersect($bholidays, $userdaysoff);
if($results){



foreach($results as $result){

echo 'yes';

}

} else {

echo 'no';  

}
4

2 回答 2

0

你不能简单地使用 in_array 吗?

$bholidays = array('05-05-2014','26-05-2014');
$userdaysoff = array('23-05-2014','24-05-2014','25-05-2014', '26-05-2014');

$count = count($userdaysoff);
for($i = 0; $i == $count; $i++) {
    if(in_array($userdaysoff[$i], $bholidays)) {
        echo $userdaysoff[$i] . " is in array.";
    }
 }
于 2014-03-19T10:21:36.190 回答
0
    $bholidays = array('05-05-2014','26-05-2014');
$userdaysoff = array('26-05-2014','27-05-2014','28-05-2014', '29-05-2014');

$results = array_intersect($bholidays, $userdaysoff);
if($results)
{
    foreach($results as $result)
    {
        echo 'yes';
    }
}
else
{
    echo 'no';
}

运行此代码并检查它是否正常工作..

输出是肯定的。

于 2014-03-19T10:26:43.133 回答