2014-03-19 2 views
0

나는 현재 내가에 날짜를 비교하고자하는 두 배열이 여기에 있습니다 내 배열이 구성되는 방법 :.의 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 배열에 존재합니다.

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

그런 다음 중복 된 날짜 26-05-2014가 감지되지 않습니다

큰 위의 작품

및 26-05-2014는 두 배열에 존재하지만 $의 userdaysoff 배열이 보이는 경우 감지 .

왜 이런 현상이 발생합니까?

$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

그것은 잘 작동하고 있습니다 .. 그게 무슨 말을하려고 iam ... – Amit

+0

네,하지만 그건 내게 맞지 않아 – danyo