PHP 프로그래밍에서 IS_NULL 과 빈은 변수의 상태를 판단하는 데 사용되는 일반적으로 사용되는 두 가지 기능이지만 해당 기능은 사용의 기능과 분명히 다릅니다. 이 기사는이 두 기능을 세부적으로 비교하여 차이점을 이해하고 실제 개발에 합리적으로 사용하는 데 도움이됩니다.
is_null ($ var)
변수가 null 인지 확인하십시오. 변수의 값이 엄격하게 무인 상태 인 경우 true , 그렇지 않으면 거짓을 반환하십시오.
빈 ($ var)
변수가 비어 있는지 확인하십시오. 여기서 "빈"은 비교적 넓습니다. NULL 외에도 False , Empty String "" , 0 , "0" , 빈 배열 [] 및 기타 상황도 포함됩니다. 변수의 값이 "빈"으로 간주되면 true를 반환하십시오. 그렇지 않으면 false를 반환하십시오.
비교 항목 | IS_NULL | 비어 있는 |
---|---|---|
판단 내용 | 그것이 null 인지 만 결정하십시오 | 변수가 비어 있는지 확인하십시오 ( null , false , 0 , 빈 문자열, 빈 배열 등). |
변수가 선언 되었습니까? | 변수는 선언되어야합니다. 그렇지 않으면 오류 가보고되거나 메시지 가보고됩니다. | 변수가 선언되지 않으면 오류가보고되지 않으며 직접 반환됩니다 . |
해당 시나리오 | 변수가 무효 인지를 엄격히 판단해야합니다. | 변수가 "의미없는"또는 "널"인지 확인 |
결과 예 | is_null (0)은 false를 반환합니다 | 빈 (0)은 참으로 반환합니다 |
<?php
$var1 = null;
$var2 = 0;
$var3 = "";
$var4 = false;
$var5 = [];
var_dump(is_null($var1)); // true
var_dump(empty($var1)); // true
var_dump(is_null($var2)); // false
var_dump(empty($var2)); // true
var_dump(is_null($var3)); // false
var_dump(empty($var3)); // true
var_dump(is_null($var4)); // false
var_dump(empty($var4)); // true
var_dump(is_null($var5)); // false
var_dump(empty($var5)); // true
// 변수가 정의되지 않은 경우
var_dump(empty($undefined_var)); // true
// var_dump(is_null($undefined_var)); // 오류를보고합니다:정의되지 않은 변수
?>
정의되지 않은 변수 처리 <br> 정의되지 않은 변수가보고되지 않는지 확인하기 위해 빈을 사용하면 변수가 선언되지 않을 때 "널 값"판단을 만드는 것이 적합합니다. IS_NULL은 변수를 선언해야합니다. 그렇지 않으면 오류가 발생합니다.
논리 요구 사항 선택 <br> 변수가 NULL 에 할당되었는지 여부를 엄격하게 판단 해야하는 경우 IS_NULL을 사용해야합니다. 변수가 "비어있는 것과 동일"하는지 여부를 결정하면 빈 사용이 더 적절합니다.
ISSET 과의 차이
ISSET은 변수가 설정되었는지 여부를 결정하는 데 사용됩니다. 이 두 기능과 함께 사용하여 변수 상태를보다 정확하게 제어 할 수 있습니다.
API에서 데이터를 가져 와서 데이터가 유효한 지 확인한다고 가정 해 봅시다.
<?php
$response = file_get_contents("https://gitbox.net/api/data");
$data = json_decode($response, true);
if (is_null($data['value'])) {
echo "데이터는입니다 NULL,다시 요청해야합니다";
}
if (empty($data['value'])) {
echo "데이터는입니다空,아마도 0、빈 문자열이든 설정되지 않음";
}
?>
위의 코드 예제에서 IS_NULL은 정확한 널을 결정하는 데 사용되는 반면, 빈는 더 넓은 범위의 "유효하지 않은"또는 "빈"케이스를 덮습니다.