博主信息
博文 87
粉丝 0
评论 0
访问量 72857
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
4月12日作业:is_null(),empty()和isset()的区别
黄忠倚的博客
原创
769人浏览过

实例

<?php
echo '<h3>3.is_null(),empty(),isset()</h3>';
echo '<hr color="green">';

/医院
 * 一、is_null()什么时候会返回true?
 * 1.变量已经声明但未赋值(未初始化),默认就是Null
 * 2.给变量直接初始化为null:$a = null;
 * 3.unset($var),当前$var 为null
 * 总结:不存在/没赋值/值为null 则返回true
 * 
 */
 
 $vall; //已声明,但未初始化
 $val2 = null; //已声明,初始化为null
 $var3 = 'php';  //已声明,并初始化为非null值
 unset($val3);

 @var_dump((is_null($val1) ? true : false));
 var_dump((is_null($val2) ? true : false));
 @var_dump((is_null($val3) ? true : false));

 /医院
  *一、empty()
  *什么情况会被认为是empty()
  *1.空字符串,空数组
  *2.null
  *3.0 / '0' / false
  * 
  */
 
 $str1 = '';
 $str2 = [];
 $str3 = '0';
 $str4 = 0;
 $str5 = null;
 $str6 = false;
 $str7 = 120;

echo '<hr>';
var_dump(empty($str1) ? true : false);  //空字符串
var_dump(empty($str2) ? true : false);
var_dump(empty($str3) ? true : false);
var_dump(empty($str4) ? true : false);
var_dump(empty($str5) ? true : false);
var_dump(empty($str6) ? true : false);
var_dump(empty($str7) ? true : false);

/医院
 * 思考:判断用户是否在文本框输入了内容:is_null()还是empty()?
 * 答案:empty(),不能用is_null()
 * 
 */

/医院
 *isset()是Null的相反操作
 *总结:变量存在且不为null,返回true
 *
 * 
 */
 
 $domain =  'www.php.cn';
 $name = null;
 $job;

 echo '<hr>';
 var_dump(isset($var));
 var_dump(isset($domain));
 var_dump(isset($name));
 var_dump(isset($job));

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

echo '<hr color="red">';
//的一种场景:变量未声明
//$a未声明
var_dump(isset($a) ? true : false);  //不报警
//实例:分页显示数据,如果当前的url地之中有分页变量P,输出指定页,如果没有默认为第一页
$page = isset($_GET['p']) ? $_GET['p']:1;

echo $page;

@var_dump(is_null($a) ? true : false);  //报警
var_dump(empty($a) ? true : false);  //报警

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

echo '<hr color="red“>';

var_dump(isset($a)); //有无
var_dump(empty($b)); //非空
@var_dump(is_null($c)); //null

//如果不确定变量最终是什么类型的时候,建议用NULL进行初始化

运行实例 »

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


批改状态:未批改

老师批语:
本博文版权归博主所有,转载请注明地址!如有侵权、违法,请联系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+教程免费学