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');

次に、2014 年 5 月 26 日という重複した日付は検出されません。

これが発生する理由はありますか?

コードを実行する方法は次のとおりです。

$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 に答える