Blogger Information
Blog 33
fans 0
comment 0
visits 24519
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
is_null() empty() isset() 三者的区别2018-04-13上传
张鑫的博客
Original
707 people have browsed it

代码部分:

实例

<?php
echo '<h1>is_null(),empty(),isset()这三个函数的区别</h1>';
echo '<hr color="red">';

// 一、is_null()什么情况下返回值为true???

$var1; //-------------------1.声明一个变量,但未赋值,默认值为null,@符号可以屏蔽警告提示
$var2 = null;//-------------2.声明一个变量,赋值为null
$var3 = '我是PHP大神';
unset($var3);//-------------3.使用unset()删除变量

@var_dump(is_null($var1));//true
var_dump(is_null($var2));//true
@var_dump(is_null($var3));//true


// 二、empty()什么时候返回true???
echo '<hr color="green">';
$str1 = '';//------1.空字符串
$str2 = [];//------2.空数组
$str3 = '0';//-----3.字符串0
$str4 = 0;//-------4.数字0
$str5 = null;//----5.null值
$str6 = false;//---6.布尔false值
$str7 = '张鑫';//--7.非空值

var_dump(empty($str1));//true
var_dump(empty($str2));//true
var_dump(empty($str3));//true
var_dump(empty($str4));//true
var_dump(empty($str5));//true
var_dump(empty($str6));//true
var_dump(empty($str7));//false(有值且不为空,返回false)
echo '<hr color="lightblue">';

// 三、isset()什么时候返回true???
// 总结:isset()是is_null()的取反操作,变量已经存在,并且它的值不为null返回true,否则返回false


$name = '张鑫';
$sex = null;
$job;

var_dump(isset($name));//true
var_dump(isset($sex));//false
var_dump(isset($job));//false(未被赋值不报警,与is_null不同)

/*总结:
1.变量有两种类型:已声明和未声明
2.已声明的变量也有两种状态:已赋值(已初始化)和未赋值(未初始化)
3.变量可能被赋的值:null,空值,非空值
        3.1: null值: is_null()
		3.2: 空值: empty()
	    3.3: 空值或非空值: isset()
基本使用原则:
1. 对于未声明的变量只能使用isset()进行判断
2. 对于已声明的变量,为空判断用empty(),是否初始化判断用is_null()
*/



//第一种场景: 变量未声明
//$a未声明
var_dump(isset($a) ? true : false);  //不报错,返回false表示未声明
//实例:在分页显示数据的时候,如果当前的url中有分页变量page,则输出指定页,否则就默认输出第一页数据
$name = isset($_GET['page']) ? $_GET['page'] : 1;
//is_null会给出警告,并自动执行 $a = null, 所以会返回true
@var_dump(is_null($a) ? true : false);
//因为未声明的变量会自动初始化为null,而对于值为null的变量,empty()会认为是空,所以返回true
var_dump(empty($a) ? true : false);

// 第二种场景: 变量已声明
$a = 'www.php.cn';
$b = '';
$c = null;

echo '<hr color="blue">';
var_dump(isset($a));  //有无判断
var_dump(empty($b));  //非空判断
var_dump(is_null($c)); //null

//初始化变量的原则:
//1.在预知变量类型的情况下
$num = 0; //数值
$userName = ''; //字符串
$isPass = false; //布尔
$books = []; //数组
$student = null; //对象

//2.不确定变量最终会保存什么值,建议用null进行初始化

运行实例 »

点击 "运行实例" 按钮查看在线实例

手抄部分:

111.jpg222.png


Correction status:Uncorrected

Teacher's comments:
Statement of this Website
The copyright of this blog article belongs to the blogger. Please specify the address when reprinting! If there is any infringement or violation of the law, please contact admin@php.cn Report processing!
All comments Speak rationally on civilized internet, please comply with News Comment Service Agreement
0 comments
Author's latest blog post