博主信息
博文 19
粉丝 0
评论 0
访问量 13979
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
4_12 细说变量与数组
JcLi的博客
原创
852人浏览过

代码:

(1)is_null(),empty(),isset()三个函数的功能,参数,返回值:

实例

<?php
 echo '<h3>is_null(),empty(),isset()区别</h3>';
 echo '<hr>';

  // 一、is_null()什么时候返回true?
  // 1.变量已声明但未初始化,默认为null值
  // 2.变量显示赋值为null
  // 3.unset()销毁后,变量为null值
  // 总结:变量不存在/没赋值/值为null,则返回true
 $val1;//已声明,未赋值
 $val2 = null;//用null初始化变量
 $val3 = 'php';
 unset($val3);//彻底销毁变量
 @var_dump(is_null($val1));//true
 var_dump(is_null($val2));//true
 @var_dump(is_null($val3));//true
 var_dump(is_null(''));//空字符串返回false
echo '<hr>';

// 二、empty()什么时候返回true?
//   1.空字符串,空数组
//   2.null
//   3.0 / '0' / false 
//   总结:
//   1. 如果一个变量不存在,它即是空,也是null,用is_null() / empty()都可以判断
//   2. 如果一个变量存在,但它的值对运行结果无影响,则视为空
//   3. null一定是空,但空不一定是null,因为它可能是空值或0或false
$str1 = '';//空字符串
$str2 = [];//空数组
$str3 = '0';//字符型数字0
$str4 = 0;//数字0
$str5 = null;//null值
$str6 = false;//布尔false
$str7 = 'php';//有值且不为空
var_dump(empty($str1));//true
var_dump(empty($str2));//true
var_dump(empty($str3));//true
var_dump(empty($str4));//true
var_dump(empty($str5));//true
var_dump(empty($str6));//true
var_dump(empty($str7));//false
echo '<hr>';

// 三、isset()是null的取反操作
//   总结:变量已经存在,并且它的值不为null,返回true,否则为false
$domain = 'www.php.cn';//有值且不为空
$name = null;//用null初始化变量
$job;//已声明,未赋值
var_dump(isset($var));//false
var_dump(isset($domain));//true
var_dump(isset($name));//false
var_dump(isset($job));//false,未赋值并不报错,与is_null不同

运行实例 »

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

(2)变量的作用域:全局,局部,静态

实例

<?php
echo '<h3>变量作用域</h3>';
echo '<hr>';
// 作用域只有三个:
//   1.全局:函数之外创建,仅在当前脚本除函数之外的地方使用;
//   2.局部:函数内部创建,仅能在函数中使用,外部不可访问;
//   3.静态:函数内部创建,仅在函数中使用,函数执行完成它的值不丢失;

// $siteName = '我的博客';//全局变量
//全局变量自动成为全局变量数组中的一个键值对,键与变量对应
$GLOBALS['siteName'] = '我的博客';//全局变量替代语法
echo "$siteName";
echo '<hr>';
function hello(){
	global $siteName;//引用全局变量,使用全局变量数组,不必声明引入
	$userName = 'JcLi';//局部变量
	return '欢迎来到'.$siteName.',我是:'.$userName;
}
echo hello();
echo '<hr>';
//静态变量,必须且仅能在函数中声明和使用
function myStatic(){
	static $num = 1;
	return '第'.$num.'次输出'.$num++.'<br>';
}
echo '第一次执行完成后$num值:'.myStatic().'<br>';
echo '第二次执行完成后$num值:'.myStatic().'<br>';
echo '第三次执行完成后$num值:'.myStatic().'<br>';
echo '第四次执行完成后$num值:'.myStatic().'<br>';
echo '<hr>';

运行实例 »

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

手抄:

1.jpg2.jpg3.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+教程免费学