Correction status:Uncorrected
Teacher's comments:
总结:
is_null什么时候返回true
1变量已经声明但未初始化,默认null
给变量初始化为null:$a=null
unset($var),当前$var是null
isset()是null的相反操作,变量不为null 返回true
变量的作用域有3种
<?php //is_null什么时候返回true //1变量已经声明但未初始化,默认null //给变量初始化为null:$a=null //unset($var),当前$var是null $val1;//已声明未初始化 $val2=null;//已声明,初始化null $val3='css';//已声明,初始化非null var_dump((is_null($val1) ? true : false)); var_dump((is_null($val2) ? true : false)); var_dump((is_null($val3) ? true : false)); //empty() //1空字符串 //2null //0 '0' folse $set1 = ''; $set2 = []; $set3 = '0'; $set4 = 0; $set5 =null; $set6 = false; $set7 = 10; echo'<hr>'; var_dump(empty($set1) ? true : false); var_dump(empty($set2) ? true : false); var_dump(empty($set3) ? true : false); var_dump(empty($set4) ? true : false); var_dump(empty($set5) ? true : false); var_dump(empty($set6) ? true : false); var_dump(empty($set7) ? true : false); echo'<hr>'; //isset()是null的相反操作,变量不为null 返回true $demo1 = '2'; $demo2 = 5; $dome3 ; var_dump(isset($demo1)); var_dump(isset($demo2)); var_dump(isset($demo3)); ?> <?php echo '<h2>变量的作用域</h2>'; //变量的作用域有3种 //1全局作用域 函数外创建的 //2局部作用域 函数内创建的 //3静态作用域 函数内创建的,仅在函数中使用 $setName = '5'; //全局变量数组 //$GLOBALS['setName'] function one() { $GLOBALS['setName']; $towName = '5';//局部 return '0+'.$setName = '5'.'=' .$towName; } echo one(); echo '<hr>'; //静态变量:必须且仅能在函数中声明和使用 function info() { static $sun=1; return '第' .$sun .'输出' .$sun++. '<br>'; } echo info(); echo info(); echo info(); echo info(); echo info(); //超全局变量:$_SERVER,$_COOKIE,$_SESSION,$_GET,$_POST,$_REQUEST //1. 属预定义变量,全部是数组,拿来就用,不需要声明; //2. 跨作用域,在全局和局部(函数内部)都可以直接使用; //3. 跨作用域不是跨脚本,所谓超全局,包括全局,都是指在当前脚本文件中。 //可以在全局直接引用 echo '我的姓名是:'.$_GET['name']; //也可以在函数中直接引用 function sayName() { //超全局变量不需要使用关键字 global 进行声明 return '我的姓名是:'.$_GET['name']; } ?>
点击 "运行实例" 按钮查看在线实例
1全局作用域 函数外创建的
2局部作用域 函数内创建的
3静态作用域 函数内创建的,仅在函数中使用