批改状态:合格
老师批语:
代码:
(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>';点击 "运行实例" 按钮查看在线实例
手抄:



Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号