2017-11-27 8 views
0

나는 확실히 NULL로 설정되어있는 "time_of_birth"이라는 mysql 필드를 가지고있다. , 그것은 "이 물건을 할"하고있어 확실히 NULL로 설정되어 해당 필드MYSQL Time 필드에서 "00:00:00"이 NULL과 같은 것으로 보이는 이유는 무엇입니까?

if ($row['time_of_birth'] !== "00:00:00") { 
//do this stuff 
} else { 
//do something else 
} 

:

나는 PHP는이 같은 해당 필드에 체크를합니다. NULL이 "00:00:00"과 다른가요? 나는 그것이 "00:00:00"과 정확하게 같지 않기 때문에 "다른 일을하라"는 것을 기대할 것입니다.

무엇이 여기에 있습니까?

+2

'NULL! == "00:00:00"'은'true'이므로 결과가 예상됩니다. 실수로 질문을 섞어 본 적이 있습니까? 아니면 실제 코드를 사실적으로 표현한 것입니까? 그렇다면 예상대로 작동합니다. '! =='는 **! **와 동등한 의미를 갖는'! ='의보다 엄격한 비교 버전이며'NULL'은''00:00:00 "'과 동일하지 않기 때문에 예상대로 작동합니다. –

+1

죄송하지만, 나는 너무 단순해야 할 일을 혼란스럽게 생각합니다. 늦은 밤이었고, 쉬어야하고 내일 다시 새로 시작해야합니다. 다르게 생각하는 데 도움을 주셔서 감사합니다 – user3304303

+0

우리 모두는 거기에 있었고 언젠가 다시있을 것입니다. 안녕히 주무세요. :-) –

답변

2

제대로하고 있다고 생각합니다. '00 : 00 : 00 '과 같은 null이 표시되지 않습니다. !==은 동일한 것으로 보지 않고 해당 블록을 입력하지 않는다는 증거입니다.