Blogger Information
Blog 87
fans 0
comment 0
visits 59071
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
4月12日作业:is_null(),empty()和isset()的区别
黄忠倚的博客
Original
612 people have browsed it

实例

<?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进行初始化

运行实例 »

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


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