博主信息
博文 3
粉丝 0
评论 0
访问量 2624
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
is_null(),empty(),isset()三个函数的功能和变量的作用域——2018年4月17日20时50分
如果人生可以CtrlZ的博客
原创
1024人浏览过

实例

<meta http-equiv="content-type" content="text/html;charset=utf-8" />
<?php 
/医院
 * is_null()返回为true
 * 1.变量已声明,但未初始化,默认值为null值
 * 2.变量赋值null值
 * 3.unset()销毁后,变量为null值
 */

//is_null对于已声明,但未赋值的变量
$name;
@var_dump(is_null($name));
echo '<hr>';
//变量赋值为null
$Name = null;
var_dump(is_null($Name));
$NaMe = 5;
echo '<hr>';
//unset()销毁后,变量为null
unset($NaMe);
@var_dump(is_null($NaMe));

/医院
 * empty()返回true
 * 1.空字符串
 * 2.空数组
 * 3.null
 * 4.  0   '0'  false
 *   总结:
 * 1. 如果一个变量不存在,它即是空,也是null,用is_null() / empty()都可以判断
 * 2. 如果一个变量存在,但它的值对运行结果无影响,则视为空
 * 3. null一定是空,但空不一定是null,因为它可能是空值或0或false
 */
 
$str1 = '';
$str2 = [];
$str3 = null;
$str4 = 0;
$str5 = '0';
$str6 = false;
echo '<hr color="red">';
var_dump(empty($str1));
echo '<hr>';
var_dump(empty($str2));
echo '<hr>';
var_dump(empty($str3));
echo '<hr>';
var_dump(empty($str4));
echo '<hr>';
var_dump(empty($str5));
echo '<hr>';
var_dump(empty($str6));

/医院
 * isset()是null的取反操作
 * 总结:变量已经存在,并且它的值不为null,返回true,否则为false
 */
echo '<hr color="green">';
$num1;
$num2 = null;
$num3 = 10;
var_dump(isset($num1));
echo '<hr>';
var_dump(isset($num2));
echo '<hr>';
var_dump(isset($num3));
?>

运行实例 »

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

IMG_20180417_204800_1.jpg.JPGIMG_20180417_204807_1.jpg.JPGIMG_20180417_204811_1.jpg.JPGIMG_20180417_204815_1.jpg.JPGIMG_20180417_204818_1.jpg.JPGIMG_20180417_204823_1.jpg.JPGIMG_20180417_204825_1.jpg.JPGIMG_20180417_204830_1.jpg.JPG

实例

<meta http-equiv="content-type" content="text/html;charset=utf-8" />
<?php 
// 这里变量x为全局变量,y为局部变量 
$x = 10;
function answer(){
	$y = 20;
	return $y;
}
echo answer();
echo '<hr>';
echo $x;
echo '<hr>';

echo '<hr color="green">';

//静态变量在函数中只能被执行一次
function message(){
	static $num = 1;
	return '第'.$num.'输出'.$num++;
}
//这里输出会乱码,可以在浏览器上转换
echo message();

echo '<hr>';
//超全局变量不需要使用关键字 global 进行声明

function thing(){
	
	return '这个数字是'.$_GET['num'];
}
//这里输出会乱码,可以在浏览器上转换
echo thing();
?>

运行实例 »

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

总结:1.is_null()变量不存在/没赋值/值为null,则返回true 

          2.empty()

             01. 如果一个变量不存在,它即是空,也是null,用is_null() / empty()都可以判断

             02. 如果一个变量存在,但它的值对运行结果无影响,则视为空

             03. null一定是空,但空不一定是null,因为它可能是空值或0或false

        3.isset()变量已经存在,并且它的值不为null,返回true,否则为false

        4.全局:函数之外创建,仅在当前脚本除函数之外的地方使用

        5.局部:函数内部创建,仅能在函数中使用,外部不可访问

        6.静态:函数内部创建,仅在函数中使用,函数执行完成它的值不丢失

        7.函数:是脚本中具有特定功能的代码段,可以重复调用

        8.超全局变量:$_SERVER,$_COOKIE,$_SESSION,$_GET,$_POST,$_REQUEST

            01. 属预定义变量,全部是数组,拿来就用,不需要声明

            02. 跨作用域,在全局和局部(函数内部)都可以直接使用   

            03.跨作用域不是跨脚本,所谓超全局,包括全局,都是指在当前脚本文件中

            04.超全局变量不需要使用关键字 global 进行声明




批改状态:合格

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