博主信息
博文 48
粉丝 3
评论 1
访问量 46243
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
理解is_null(),empty(),isset() ——2018年4月12日
JackBlog
原创
788人浏览过

 一、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));

运行实例 »

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



批改状态:合格

老师批语:
本博文版权归博主所有,转载请注明地址!如有侵权、违法,请联系admin@php.cn举报处理!
全部评论 文明上网理性发言,请遵守新闻评论服务协议
0条评论
作者最新博文
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号

  • 登录PHP中文网,和优秀的人一起学习!
    全站2000+教程免费学