博客列表 >4月12日作业:is_null(),empty()和isset()的区别

4月12日作业:is_null(),empty()和isset()的区别

黄忠倚的博客
黄忠倚的博客原创
2018年04月21日 21:51:54616浏览

实例

<?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 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议