大家好
以下是我对is_null ()、empty ()、isset () 的功能和用法的练习,如有错误望大家指出
实例
<?php //设置三个变量,一个不赋值,一个为null,一个正常值 $val1; $val2 = null; $val3 = 'aaa'; //彻底销毁变量 unset($val3); //查看变量返回值,上面三种情况皆为true @var_dump(is_null($val1)); var_dump(is_null($val2)); @var_dump(is_null($val3)); echo '<hr color="red">'; //用empty判断变量值是否为空 $ral1 = ''; $ral2 = 0; $ral3 = '0'; $ral4 = null; $ral5 = []; $ral6 = false; $ral7 = 'bbb'; //空字符串,返回值为true var_dump(empty($ral1)); //数字0,返回值为true var_dump(empty($ral2)); //字符串0,返回值为true var_dump(empty($ral3)); //null值,返回值为true var_dump(empty($ral4)); //空数组,返回值为true var_dump(empty($ral5)); //布尔值false,返回值为true var_dump(empty($ral6)); //正常字符串,返回值为false var_dump(empty($ral7)); echo '<hr color="red">'; $bal; $bal1 = '正常'; $bal2 = null; //未声明的变量,返回值为false,不报错 var_dump(isset($cal)); //已声明的变量,但是未赋值,返回值为false var_dump(isset($bal)); //正常字符串,返回值为true var_dump(isset($bal1)); //null值,返回值为false var_dump(isset($bal2)); echo '<hr color="blue">'; var_dump(isset($)); //有无判断 var_dump(empty($)); //非空判断 var_dump(is_null($)); //null
运行实例 »
点击 "运行实例" 按钮查看在线实例
实例
<?php echo '<h3>变量作用域</h3>'; echo '<hr color="green">'; //此时$name为全局变量 $name = '小明'; //当我们创建一个全局变量的时候,php会自动生成一个超全局变量 // $GLOBALS['name']; function aaa(){ //$nation为局部变量 //在局部作用域中是无法直接引用全局变量的,可以利用global来引用 // global $name; $nation = '英国'; //可以直接引用超全局变量 return $GLOBALS['name'].'去'.$nation; } echo aaa(); echo '<hr color="red">'; //静态变量 function bbb(){ //static将变量只赋值一次 static $num = 1; return '第'.$num.'次输出'.$num++; } //第一次输出1 echo bbb(); //第二次输出2 echo bbb(); //第三次输出3 echo bbb(); //第四次输出4 echo bbb(); //第五次输出5 echo bbb();
运行实例 »
点击 "运行实例" 按钮查看在线实例
以下是为了加深印象的手抄版本
课程总结
1. is_null()什么时候返回true?
(1).变量已声明但未初始化,默认为null值
(2)变量显示赋值为null
(3)unset()销毁后,变量为null值
总结:变量不存在/没赋值/值为null,则返回true
2. empty()什么时候返回true?
(1)空字符串,空数组
(2)null
(3)0 / '0' / false
3. isset()是null的取反操作
总结:变量已经存在,并且它的值不为null,返回true,否则为false
4.基本使用原则:
(1) 对于未声明的变量只能使用isset()进行判断
(2)对于已声明的变量,为空判断用empty(),是否初始化判断用is_null()
5. 作用域只有三个:
(1)全局:函数之外创建,仅在当前脚本除函数之外的地方使用;
(2)局部:函数内部创建,仅能在函数中使用,外部不可访问;
(3)静态:函数内部创建,仅在函数中使用,函数执行完成它的值不丢失;
6.全局变量在函数内是无法直接引用的,局部变量在函数外也是无法直接引用,可以通过global来引用
例如:$siteName = 'PHP中文网';
function aaa(){
global $siteName
return $siteName
}
echo aaa()
7.静态变量,必须且仅能在函数中声明和使用
例如:function bbb(){
static $num = 1; //static将变量只赋值一次
return '第'.$num.'次输出'.$num++;
}
//第一次输出1
echo bbb();
//第二次输出2
echo bbb();
//第三次输出3
echo bbb();
//第四次输出4
echo bbb();
//第五次输出5
echo bbb();