PHP에서 NULL과 null의 차이점


85

PHP에서 NULL와 사이에 차이점이 null있습니까? 때로는 상호 교환이 가능한 것처럼 보이며 때로는 그렇지 않은 것 같습니다.

편집 : 어떤 이유로 내가 (이 질문을 게시하기 전에) 대답에 연결된 문서를 읽을 때 나는이 질문을 처음에 게시 한 전체 이유 인 "대소 문자 구분 없음"대신 "대소 문자 구분"으로 읽었습니다. .


2
NULL=nullDB의 정확한 일치가 쿼리되지 않는 한 그 반대의 경우도 마찬가지입니다.
Funk Forty Niner 2013 년

@FunkFortyNiner이 질문에 관련된 DB가 없습니다. 질문은 프로그래밍 언어에 관한 것입니다.
Pablo Pazos 2018 년

@PabloPazos 6 년이 지난 후 왜 저에게 핑을하나요? 또한 내 의견을 다시 읽으면 관련성이있을 수 있습니다. 가능한 진실이 될 키워드 "unless"를보십시오.
Funk Forty Niner

1
@PabloPazos는 당신과 같은 의견을 남기는 것도 약간 우스꽝 스럽습니다. 그가 말한 것은 완전히 관련성이 있고 도움이됩니다. 다른 누군가가 와서 DB 오류가있는 동안 이것을 살펴보면 솔루션을 신속하게 추적하는 데 도움이 될 것이며 관련성이없는 사람들은 단순히 다른 답변을 살펴볼 것입니다.
Kenziiee Flavius

1
@FunkFortyNiner 귀하의 의견을 보내 주셔서 감사합니다. 일반적으로 일반 null에 대해 false를 반환하는 isset ()을 사용하여 데이터베이스 값 NULL을 필터링하려고 시도했지만 데이터베이스 값으로 $ value === NULL을 사용해야했습니다. 이것이 어떻게 가능한지 잘 모르겠지만이 문제로이 페이지에 도착했습니다.
제프

답변:


124

Null은 대소 문자를 구분하지 않습니다.

로부터 문서 :

null 유형의 값은 하나만 있으며 대소 문자를 구분하지 않는 키워드 NULL입니다.


6
DB의 정확한 일치가 쿼리되지 않는 한.
Funk Forty Niner 2013 년

null데이터베이스 쿼리에서 얻은 값을 비교하는 데 문제가 있습니다. 도울 수 있니?
Razin Abid

9

다른 점이 없다. 동일한 유형은 대소 문자를 구분하지 않는 키워드입니다. True/ False기타 와 동일 ...


-2

기술적 인 차이가 있습니다. 당신이 생각하는 것과는 다릅니다. (사전에 어디에 나타나는지 생각해보세요) 소문자 null의 ASCII 값이 대문자 뒤에 나타납니다. 시험:

$a = NULL;
$b = null;
if($a < $b){
   print 'first num appears earlier in the dictionary than second num';
}
else {
   print'the right num appears in the dictionary before the left num ';
}

** 실제로 대문자 NULL이 0 인 동안 소문자 null에 대한 ASCII 값이 없습니다. 소문자 null은 0보다 큰 문자열 값으로 평가됩니다. 여기를 제외하고 모든 대문자와 소문자 ASCII 값의 차이는 32입니다. 여기서 전체 문자열 값이 고려됩니다.


오류, 이것이 booleanesque 플래그로서의 사용법과 어떤 관련이 있습니까? ASCII가 쿼리되지 않습니까?
Martin

1
이것은 잘못된 것입니다. 당신은 elseif($b < $a) {... 라고 말해야합니다 . } else print 'the same';그러면 당신은 그들이 실제로 동일하다는 것을 알게 될 것입니다. nUlL 및 NuLl도 마찬가지입니다.
Matt
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.