2014-03-19 30 views
0

我現在有2個陣列,其中我想在比較的日期這裏是我的陣列的結構如何。PHP array_intersect不正常

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

} 
+0

請仔細運行您的代碼。它運行良好。 –

+0

是的,它確實工作正常...... – Amit

+0

和你得到什麼輸出? – Amit

回答

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."; 
    } 
} 
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'; 
} 

運行該代碼,並檢查其工作正常..

輸出是肯定的。

+0

這是我在我的問題中發佈的確切代碼? – danyo

+0

它工作正常..這就是我想告訴你... – Amit

+0

是的,但它不是我 – danyo