博客列表 >变量的作用域与检测方法-2018年4月13日上午11:00完成

变量的作用域与检测方法-2018年4月13日上午11:00完成

邵军-山东-84918的博客
邵军-山东-84918的博客原创
2018年04月13日 11:01:11523浏览

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

实例

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