Blogger Information
Blog 48
fans 3
comment 1
visits 37465
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
理解is_null(),empty(),isset() ——2018年4月12日
JackBlog
Original
622 people have browsed it

 一、is_null()什么时候返回true?

 1.变量已声明但未初始化,默认为null值

 2.变量显示赋值为null

 3.unset()销毁后,变量为null值

 总结:变量不存在/没赋值/值为null,则返回true 


 二、empty()什么时候返回true?

1、变量已声明,赋值为0/'0'

2、变量已声明,赋值为空/空数组

3、变量已声明,赋值为false

4、变量已声明,但未赋值

  总结:

  1. 如果一个变量不存在,它即是空,也是null,用is_null() / empty()都可以判断

  2. 如果一个变量存在,但它的值对运行结果无影响,则视为空

  3. null一定是空,但空不一定是null,因为它可能是空值或0或false

三、siset()什么时候返回true?

1、变量已声明,赋值为非null值

2、变量已声明,但未赋值

3、变量未声明

总结:变量已经存在,并且它的值不为null,返回true,否则为false


实例

<?php

//is_null
/*什么情况为null?
 * 1、变量直接赋值为null
 * 2、变量已经声明,但没有赋值
 * 3、变量已经声明且赋值为非null值,但使用了unset()
 */
$name1= null;
$name;
$name2='abc';
unset($name2);

echo '<h3>is_null()</h3>';
var_dump(is_null($name)?true:false);
var_dump(is_null($name1));
var_dump(is_null($name2));

//empty
/*什么情况为empty?
 * 1、变量赋值为空
 * 2、变量赋值为0
 * 3、变量赋值为'0'
 * 4、变量赋值为空数组
 * 5、变量赋值为false
 * 6、变量赋值为null
 */
$user1 = '';
$user2 = '0';
$user3 = 0;
$user4 = null;
$user5 = [];
$user6 = false;

echo '<hr>';
echo '<h3>empty()</h3>';
var_dump(empty($user1));
var_dump(empty($user2));
var_dump(empty($user3));
var_dump(empty($user4));
var_dump(empty($user5));
var_dump(empty($user6));

//isset():
/*什么情况下用isset()
 * 1、变量声明但没有赋值
 * 2、变量声明且赋值为null
 * 3、变量没有声明
 */
$pass1='';
$pass2='0';
$pass3=false;
$pass4=null;
$pass5=[];
$pass6;

echo '<hr>';
echo '<h3>isset()</h3>';
var_dump(isset($pass1));
var_dump(isset($pass2));
var_dump(isset($pass3));
var_dump(isset($pass4));
var_dump(isset($pass5));
var_dump(isset($pass6));
var_dump(isset($pass7));

运行实例 »

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



Correction status:qualified

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