博主信息
博文 42
粉丝 0
评论 1
访问量 32485
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
变量的作用域与检测方法-2018年4月13日上午11:00完成
邵军-山东-84918的博客
原创
677人浏览过

变量的作用域与检测方法:代码

实例

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8" />
    <title>Document</title>
</head>
<body>
    <?php
/**
 * @Author: Marte
 * @Date:   2018-04-13 08:44:52
 * @Last Modified by:   Marte
 * @Last Modified time: 2018-04-13 10:26:33
 */
    echo '<h3>is_null(),empty(),isset()的区别</h3>';
// 这三个函数仅仅用于变量判断,不要直接用到字变量上面
// 一、is_null()什么时候返回true?
// 1、变量不存在,或者存在已经声明但是未初始化,这时候默认为null;
// 2、变量赋值为null;
// 3、已经赋值,但是用unset()销毁,这时候为null
// 总结:变量不存在 未赋值 是null 采用unset均返回true
// 例如:
$name;
$name1=null;
$name2='jack';
unset($name2);
@var_dump(is_null($name3) ? true : false);//$name3不存在
@var_dump(is_null($name)? true : false);//$name未赋值
var_dump(is_null($name1));//赋值为null
@var_dump(is_null($name2)?true:false);//$name2被销毁
//二、empty()什么时候返回true?
//1、空字符串,空数组
//2、变量赋值为null;
//3、0/'0'/false
//总结:
//1、如果变量不存在或是null,可以用is_null()或者用empty()进行判断
//2、如已经赋值为0 [] '0' false ''必用empty
//3、null一定时空,但是空不一定是null,如0 false等;
$user1='';
$user2=0;
$user3='0';
$user4=[];
$user5=null;
$user6=false;
$user7='jack';
$user8;

echo "<hr color='red'>";
@var_dump(is_null($user)?true:false);//此处可以用is_null
var_dump(empty($user)?true:false);//此处也可以用empty()进行判断;
var_dump(empty($user1)?true:false);//空字符串
var_dump(empty($user2)?true:false);//赋值为零
var_dump(empty($user3)?true:false);//赋值为字符型数字0
var_dump(empty($user4)?true:false);//空数组
var_dump(empty($user5)?true:false);//赋值为null
var_dump(empty($user6)?true:false);//赋值为false
var_dump(empty($user7)?true:false);//赋值为字符,进行对比
var_dump(empty($user8)?true:false);//未初始化的返回为true
//文本框判断是否输入内容,应该用empty()进行判断,因为文本框中内容其实是''空字符串,已经被赋值。

//三、isset()是null的取反操作,想要返回为true,必须不是null,必须被赋值,必须存在,否则为false
echo "<hr color='red'>";
$butt=false;
$butt1='jack';
$butt2=null;
$butt3;
var_dump(isset($butt));//false也可以
var_dump(isset($butt0));//不存在的,返回为false
var_dump(isset($butt1));
var_dump(isset($butt2));//null返回一定为false
var_dump(isset($butt3));//未赋值未初始化的一定返回false
echo "<hr color='red'>";
//自己总结:
//1、变量有两种状态,已经声明,未声明
//2、已经声明的变量有两种状态,已经初始化被赋值,未初始化未被赋值
//3、变量有很多赋值形式,如null 空值 非空值
//3.1 null 采用is_null()
//3.2 空值 empty()
//3.3 空值或非空值用isset()
//基本使用原则
//1、对于未声明的变量只能使用isset()进行判断,is_null empty()返回为true,无法定性
//2、已经已经声明的,未赋值的应该用is_null,能更深层次的判定性质,为空的采用empty()进行判断
//例如:
// 一、变量未声明
// $stu未声明
var_dump(isset($stu));
@var_dump(is_null($stu));//均返回为true,无法判定
var_dump(empty($stu));//均返回为true,无法判定
echo "<hr color='red'>";
//2、变量已经声明
$day=null;
$month='12';
$year='';
var_dump(is_null($day));
var_dump(isset($month));
var_dump(empty($year));

    ?>
</body>
</html>

运行实例 »

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

手写作业:

IMG_20180413_105741_看图王.jpg

批改状态:合格

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