博主信息
博文 51
粉丝 3
评论 1
访问量 44155
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
is_null() empty() isset() 变量作用域—2018年4月16日15时26分
Gee的博客
原创
793人浏览过

is_null() empty() isset()三个函数

代码:

实例

<?php 
echo '<h3>is_null(),empty(),isset()</h3>';
echo '<hr color="red">';

echo 'is_null(): 不存在/没赋值/值为null时返回true';
echo '<hr>';

echo '已声明,但未初始化: $val1;';
$val1;
echo '<br>';
@var_dump((is_null($val1) ? true : false));
echo '<hr>';

echo '已声明,初始化为null: $val2 = null;';
$val2 = null;
echo '<br>';
var_dump((is_null($val2) ? true : false));
echo '<hr>';

echo '已声明,并初始化为非null值:$val3 = \'php\';unset($val3);';
$val3 = 'php';
unset($val3);
echo '<br>';
@var_dump((is_null($val3) ? true : false));
echo '<hr color="red">';

echo 'empty(): 空字符串、空数组、null、0、\'0\'、false时返回true';

$str1 = ''; //空字符串
$str2 = []; //空数组
$str3 = '0'; //'0'
$str4 = 0; //0
$str5 = null; //null
$str6 = false; //false

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);
echo '<hr color="red">';

echo 'isset(): 变量存在且不为null,返回true';
echo '<hr>';

$sentence = 'hahaha';
$name = null;
$job;

var_dump(isset($var)); //变量不存在
var_dump(isset($sentence)); //变量存在且不为null
var_dump(isset($name)); //变量为null
var_dump(isset($job)); //变量未赋值,为null
echo '<hr color="red">';

运行实例 »

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

变量作用域:

实例

<?php 
echo '变量的作用域';
echo '<hr color="red">';

$out = '全局变量';

function diffType()
{
	$in = '局部变量';
	global $out; //函数内部不能直接访问全局变量
	return '这是'. $out. '这是'. $in;
}

echo diffType();

echo '<br>';

function num()
{
	$num1 = 1;
	static $num2 = 1; //静态变量
	return '第'.$num1.'次输出'.'局部变量'.$num1++.'第'.$num2.'次输出'.'静态变量'.$num2++.'<br>';
}

echo num();
echo num();
echo num();
echo num();
echo num();

运行实例 »

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

手抄代码:

微信图片_20180416152443.jpg微信图片_20180416152448.jpg

总结:

一、is_null()什么时候会返回true

1.变量已经声明但未赋值(未初始化),默认就是null

2.给变量直接初始化为null:$a = null;

3.unset($var),当前$var为null

即:不存在/没赋值/值为null 时返回true


二、empty()

什么情况会被认为是empty

1.空字符串、空数组

2.null   (null是空,但空不一定是null)

3. 0、 '0'、 false

三、isset()

是null的相反操作

即: 变量存在且不为null,返回true


1.变量有两种状态:已声明和未声明

2.对于已经声明过的变量也有两种状态:已赋值,未赋值

3.变量可能会被赋的值有三种:null,空,非空值

    3.1 null  is_null()

    3.2 空:empty()

    3.3 空或非空 isset()


基本原则

1. 对于未声明只能用isset()进行判断

2. 对于已声明,为空用empty(),是否初始化了用is_null()


批改状态:未批改

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