2014-12-04 2 views
0

저는 정말 이상한 문제가 있으며 잠시 동안 작업을 한 후에 꽤 혼란스러워합니다. $save_res is definitely not "SHIFT_CONFLICT"하지만 true 또는 내가 (내부 if 문의)를 에코 "1"하지만 조건 $save_res == "SHIFT_CONFLICT" 경우는 어떤 이유와 마찬가지입니다 : 나는이 조건조건이 참이 될 수는 없지만 PHP는 "if"를 입력합니다.

 $save_res = $database->saveShift(); 
     if ($save_res == "SHIFT_CONFLICT") { 
      $errors['insertShift'] = "error msg"; 
      echo $save_res; 
      $valid = false; 
     } else if ($save_res) { 
      $notices['insertShift'] = "success msg"; 
      $valid = true; 
     } 

이제 이상한 부분이에게이 if 문 내부의 코드가 실행됩니다.

+4

첫째로 변경

if ($save_res == "SHIFT_CONFLICT") { 

,'==='사용합니다. –

+1

디버깅에 echo를 사용하지 말고,'var_dump'는 약간의 사랑이 필요합니다. – Rangad

+0

true == "SHIFT_CONFLICT"는 참이지만 true === "SHIFT_CONFLICT"는 거짓입니다. 그래서 사용법은 (===) 대신에 (===)와 동일합니다 (==)로 Paramagnetic ... 언급했습니다. – Lekhnath

답변

1

if ($save_res === "SHIFT_CONFLICT") { 
관련 문제