Blogger Information
Blog 42
fans 0
comment 1
visits 25905
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
变量的作用域与检测方法-2018年4月13日上午11:00完成
邵军-山东-84918的博客
Original
524 people have browsed it

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

实例

<!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

Correction status:qualified

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