php가 비어있을 때 null입니까?
에 대해 질문이 있습니다.NULL
PHP:
$a = '';
if($a == NULL) {
echo 'is null';
}
이 경우 null로 표시되는 이유는 무엇입니까?$a
빈 문자열입니까?그거 버그예요?
원하는 것은 다음과 같습니다.
if($variable === NULL) {...}
주의:===
.
사용시==
PHP에서는 NULL, false, 0, 빈 문자열 및 빈 배열이 동일하게 취급됩니다.
다음 표와 같이empty($foo)
와 동등하다$foo==null
그리고.is_null($foo)
와 같은 기능을 가지다$foo===null
또한 이 표에는 다음과 같은 몇 가지 까다로운 값이 나와 있습니다.null
비교.(variable은 초기화되지 않은 변수를 나타냅니다.)
empty is_null
==null ===null isset array_key_exists
ϕ | T | T | F | F
null | T | T | F | T
"" | T | F | T | T
[] | T | F | T | T
0 | T | F | T | T
false | T | F | T | T
true | F | F | T | T
1 | F | F | T | T
\0 | F | F | T | T
확인.==
대===
'' == NULL
사실로 돌아오다
0 == NULL
사실로 돌아오다
false == null
사실로 돌아오다
반면에.
'' === NULL
거짓으로 반환될 것이다
0 === NULL
거짓으로 반환될 것이다
false === NULL
거짓으로 반환될 것이다
아니, 그건 벌레가 아니야.첫 번째 열의 각 값과 다른 열의 값을 비교한 결과를 보여주는 ==와의 느슨한 비교 표(두 번째 표)를 살펴봅니다.
TRUE FALSE 1 0 -1 "1" "0" "-1" NULL array() "php" ""
[...]
"" FALSE TRUE FALSE TRUE FALSE FALSE FALSE FALSE TRUE FALSE FALSE TRUE
저기 빈 문자열이 보이시죠?""
에 대한false
,0
,NULL
또는""
진실일 것이다.
대신 또는 엄밀한 비교(세 번째 표)를 사용할[아쉬움] 수 있습니다.
이것은 버그가 아니라 PHP의 정상적인 동작입니다.그 이유는==
PHP의 연산자는 유형을 확인하지 않습니다.
'' == null == 0 == false
값이 동일한 유형인지 확인하려면===
대신.이 차이를 자세히 알아보려면 공식 문서를 읽어보시기 바랍니다.
사용하시는 경우==
, php는 빈 문자열 또는 어레이를 다음과 같이 처리합니다.null
을 구별하다null
그리고.empty
, 둘 중 하나를 사용합니다.===
또는is_null
. 그래서:
if($a === NULL)
또는if(is_null($a))
PHP 7 isset() vs empty() vs is_null()
다른 사람이 다른 사람을 상대하고 있다면
, 이것은, 다음의 경우에 유효합니다.
.
다음으로 대체하다str_replace()
먼저 확인하고empty()
empty(str_replace(" " ,"" , $YOUR_DATA)) ? $YOUR_DATA = '--' : $YOUR_DATA;
NULL은 값이 없는 변수를 나타냅니다.변수가 NULL인지 확인하려면 다음 중 하나를 사용합니다.is_null($var)
또는 비교(===
를 NULL로 지정합니다.다만, 변수가 정의되어 있지 않은 경우는, 양쪽 모두 경고를 생성합니다.와 유사하다isset($var)
그리고.empty($var)
기능으로서 사용할 수 있습니다.
var_dump(is_null($var)); // true
var_dump($var === null); // true
var_dump(empty($var)); // true
자세한 내용은 PHP에서 변수가 NULL인지 확인하는 방법을 참조하십시오.
사용하다empty
(http://php.net/manual/en/function.empty.php).
예:
$a = '';
if(empty($a)) {
echo 'is empty';
}
언급URL : https://stackoverflow.com/questions/8236354/php-is-null-when-empty
'source' 카테고리의 다른 글
JavaScript에서 세트를 매핑/축소/필터링하는 방법 (0) | 2022.11.19 |
---|---|
Google Finance API를 사용하여 주식 시세를 얻으려면 어떻게 해야 합니다. (0) | 2022.11.19 |
Balley 및 HttpEntity를 사용하지 않는 POST 멀티파트 요구 작업 (0) | 2022.11.19 |
Laravel 5.1에서 Laravel 5.8로 업그레이드한 후 whereHas()가 느려짐 (0) | 2022.11.19 |
날짜 문자열이 해당 형식의 유효한 날짜인지 확인 (0) | 2022.11.19 |