이전 글 "PHP 배열 학습: 공백 또는 중복 요소를 제거하는 방법"에서 우리는 값이 비어 있는지 확인하기 위해 empty() 함수를 사용할 수 있다는 것을 배웠습니다. 그렇다면 PHP에서 null 값을 확인하는 방법은 무엇입니까? 이번에는 몇 가지 일반적인 방법에 대해 알아보겠습니다. 필요하다면 배워보세요~
오늘 글의 주제는 PHP를 사용하여 값이 비어 있는지 여부를 감지하는 것입니다. 자, 다음은 몇 가지 일반적인 방법으로 바로 넘어가겠습니다.
방법 1: 비어 있음() 사용
빈 함수: 변수가 "비어 있는지" 감지합니다.
초기화되지 않은 변수, 값이 0 또는 false인 변수, 빈 문자열 "" 또는 null 또는 빈 배열, 속성이 없는 객체는 TRUE로 판단됩니다.
아래 코드 예제를 살펴보겠습니다.
<?php $a = 'test'; $b = array('key1' => 'value1'); $class = new stdClass(); var_dump(empty($c)); // 输出 bool(true) var_dump(empty($b['key2'])); // 输出 bool(true) var_dump(empty($class)); // 输出 bool(false) var_dump(empty($class->test->test)); // 输出 bool(true) class EmptyClass{}; $empty_class = new EmptyClass(); var_dump(empty($empty_class));// 输出 bool(false) ?>
출력 결과:
다음 변수는 비어 있으면 비어 있는 것으로 간주됩니다.
""(빈 문자열)
0 ( 0은 정수)
0.0 (0은 부동소수점)
"0" (0은 문자열)
NULL
FALSE
array() (빈 배열)
$var; (값 없이 선언된 변수)
0
,'0'
에 대해 알아보기, < 다섯 가지 코드 유형의 차이점 >'',null
및false
.0
、'0'
、''
、null
、false
这五种类型的区别。
null为不存在之意:php底层的zval空间里没有存其value值,只存储了一个type标志其 IS_NULL。
而0 、'0' 、'' 、 false这四个为存在,php底层是开辟zval空间存储,有value,有type。
string '0'与 string '' 不相等
int 0 却和 string '' 空相等,(非同类形比较,php会做类型转换)
string '0' 与 null 不相等,int 0 与 null 相等
方法2:使用isset()
isset功能:判断变量是否被初始化,可用来测试变量是否已经配置。若变量已存在则返回 true 值;其它情形返回 false 值。
下面通过代码示例来具体看看:
<?php $a = 'test'; $b = array('key1' => 'value1'); $class = new stdClass(); var_dump(isset($class->test->test)); // 判断对象属性是否定义:输出 bool(false) var_dump(isset($a)); // 判断变量是否定义:输出 bool(true) var_dump(isset($c)); // 判断变量是否定义:输出 bool(false) var_dump(isset($b['key1'])); // 判断数组元素是否定义:输出 bool(true) var_dump(isset($b['key2'])); // 判断数组元素是否定义:输出 bool(false) ?>
输出结果:
方法3:使用is_null()
is_null功能:检测变量是否为"null"。
当变量被赋值为"null"时,检测结果为true;0、空字符串、false、空数组都检测为false。
下面通过代码示例来具体看看:
<?php $a = null; $b = false; var_dump(is_null($a)); var_dump(is_null($b)); var_dump(is_null($c)); ?>
输出结果:
方法4:利用==或===运算符
可以使用var == null
来判断变量是否为"空"。当变量被赋值为"null"时,检测结果为true;而0、空字符串、false、空数组都检测为false。如果变量未初始化时,程序将会报错。
实质是 == 表达式会对两边的变量做自动类型转换,所以判断结果为 true。
下面通过代码示例来具体看看:
<?php $a = 0; $b = array(); var_dump($a == null); var_dump($b == null); var_dump($c == null); ?>
可以使用var === null
null은 존재하지 않음을 의미합니다. 값은 PHP 하단의 zval 공간에 저장되지 않고 IS_NULL 유형 표시만 저장됩니다.
그리고 0, '0', '', false 이 네 개가 존재합니다. PHP의 맨 아래 레이어는 값과 유형이 있는 zval 공간 저장소를 여는 것입니다.
🎜🎜🎜문자열 '0'은 문자열 ''과 같지 않습니다. 🎜🎜🎜🎜int 0은 문자열 ''과 같습니다. null(동일하지 않은 비교, PHP는 유형 변환을 수행합니다) 🎜🎜🎜🎜문자열 '0' 및 null 같지 않음, int 0은 null🎜🎜🎜🎜🎜🎜방법 2: isset()🎜🎜🎜isset 함수 사용: 변수가 초기화되었는지 확인하고 변수가 초기화되었는지 테스트하는 데 사용할 수 있습니다. 구성되었습니다. 변수가 이미 존재하면 true를 반환하고, 그렇지 않으면 false를 반환합니다. 🎜🎜아래 코드 예를 살펴보겠습니다. 🎜<?php $a = 0; $b = false; $c = 0.0; $d = null; $e = ''; var_dump(0 === $a); // 输出 bool(true) var_dump(0 === $b); // 输出 bool(false) var_dump(0 === $c); // 输出 bool(false) var_dump(0 === $d); // 输出 bool(false) var_dump(0 === $e); // 输出 bool(false) var_dump('' === $e); // 输出 bool(true) var_dump('' === $a); // 输出 bool(false) var_dump('' === $b); // 输出 bool(false) var_dump(0.0 === $c);// 输出 bool(true) var_dump(0.0 === $a); // 输出 bool(false) ?>
var == null
을 사용하여 다음을 수행할 수 있습니다. 변수가 "null"인지 여부를 판단합니다. 변수에 "null" 값이 할당되면 탐지 결과는 true이고, 0, 빈 문자열, false 및 빈 배열은 모두 false로 탐지됩니다. 변수가 초기화되지 않으면 프로그램에서 오류를 보고합니다. 🎜🎜🎜🎜🎜핵심은 == 표현식이 양쪽 변수에 대해 자동 유형 변환을 수행하므로 판단 결과가 참이라는 것입니다. 🎜🎜아래 코드 예를 살펴보겠습니다. 🎜rrreee🎜🎜🎜🎜🎜 var === null
을 사용하여 변수가 "null"인지 여부를 감지할 수 있으며, 변수 유형은 다음과 같아야 합니다. 또한 "null"이어야 합니다. "null"로 판단할 때 is_null과 동일하면 동일한 효과가 있습니다. 🎜🎜🎜rrreee🎜🎜🎜🎜 ===를 사용하면 빈 문자열, 0, false 및 null, 심지어 정수 및 부동 소수점 유형도 잘 구분할 수 있음을 알 수 있습니다. 🎜🎜그렇습니다. 더 알고 싶다면 여기를 클릭하세요. → →🎜php 비디오 튜토리얼🎜🎜위 내용은 PHP를 이용하여 null 값을 확인하는 방법(4가지 방법)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!