Correction status:Uncorrected
Teacher's comments:
<?php echo "<h2>0412作业,is_null(),empty(),isset()用法</h2>"; print("<hr color='red'>"); //先学习一下var_dump()方法 $shuCountry = array('刘备', '关羽', '张飞' ); print('<pre>'); var_dump($shuCountry); //var_dump()能打印数组,还等计算变量的字符数 此函数显示关于一个或多个表达式的结构信息,包括表达式的类型与值。数组将递归展开值,通过缩进显示其结构。 echo "<hr>"; //is_null() — 检测变量是否为 NULL /** * 一、is_null()什么时候返回true? * 1.变量已声明但未初始化,默认为null值 * 2.变量显示赋值为null * 3.unset()销毁后,变量为null值 * 总结:变量不存在/没赋值/值为null,则返回true */ $tes1; $tes2 = null; $tes3 = 'null'; var_dump(is_null($tes1)? '是' : '不是'); var_dump(is_null($tes2)? '是' : '不是'); var_dump(is_null($tes3)? '是' : '不是'); var_dump(is_null(''));//空值不是null echo "<hr>"; /** 判断一个变量是否被认为是空的。当一个变量并不存在,或者它的值等同于FALSE,那么它会被认为不存在。如果变量不存在的话,empty()并不会产生警告。 * 二、empty()什么时候返回true? * 1.空字符串,空数组 * 2.null * 3.0 / '0' / false * * 总结: * 1. 如果一个变量不存在,它即是空,也是null,用is_null() / empty()都可以判断 * 2. 如果一个变量存在,但它的值对运行结果无影响,则视为空 * 3. null一定是空,但空不一定是null,因为它可能是空值或0或false */ $etes1; $etes2 = ''; $etes3 = 0; $etes4 = '0'; $etes5 = false; $etes6 = null; $etes7 = 'null'; var_dump(empty($etes1)? '是空的': '不是空的'); var_dump(empty($etes2)? '是空的': '不是空的'); var_dump(empty($etes3)? '是空的': '不是空的'); var_dump(empty($etes4)? '是空的': '不是空的'); var_dump(empty($etes5)? '是空的': '不是空的'); var_dump(empty($etes6)? '是空的': '不是空的'); var_dump(empty($etes7)? '是空的': '不是空的'); echo "<hr>"; /** * isset()是null的取反操作 检测变量是否设置,并且不是 NULL。 * 总结:变量已经存在,并且它的值不为null,返回true,否则为false */ $istes1; $istes2 = 0; $istes3 = ''; $istes4 = null; $istes5 = true; $istes6 = false; $istes8 = 'null'; var_dump(isset($istes1)? '有数据': '是空的');//是空的 var_dump(isset($istes2)? '有数据': '是空的'); var_dump(isset($istes3)? '有数据': '是空的'); var_dump(isset($istes4)? '有数据': '是空的'); //是空的 var_dump(isset($istes5)? '有数据': '是空的'); var_dump(isset($istes6)? '有数据': '是空的'); //var_dump(isset($istes7)? '有数据': '是空的'); var_dump(isset($istes8)? '有数据': '是空的'); echo "<hr>"; /* * 作用域只有三个: * 1.全局:函数之外创建,仅在当前脚本除函数之外的地方使用; * 2.局部:函数内部创建,仅能在函数中使用,外部不可访问; * 3.静态:函数内部创建,仅在函数中使用,函数执行完成它的值不丢失; 在所有函数外部定义的变量,拥有全局作用域。除了函数外,全局变量可以被脚本中的任何部分访问,要在一个函数中访问一个全局变量,需要使用 global 关键字。 在 PHP 函数内部声明的变量是局部变量,仅能在函数内部访问: */ $nameAll = '张飞'; $nameAll2 = '关羽'; echo '在函数外返回',$nameAll; echo "<br>"; function Fname() { $Fname = '刘备'; echo '在函数内定义的变量',$Fname; echo '<br>'; echo '在函数内访问全局变量',$nameAll;//函数不能访问全局变量 global $nameAll; //加上global 声明可以访问全局变量 echo '在函数内访问全局变量',$nameAll; echo '<br>'; echo '在函数内访问全局变量',$GLOBALS['nameAll2']; //注意这种写法没有$符 # code... }; Fname(); echo "<hr>"; /* global 关键字用于函数内访问全局变量。 在函数内调用函数外定义的全局变量,我们需要在函数中的变量前加上 global 关键字: PHP 将所有全局变量存储在一个名为 $GLOBALS[index] 的数组中。 index 保存变量的名称。这个数组可以在函数内部访问,也可以直接用来更新全局变量。 ,$GLOBALS['变量'] Static 作用域 当一个函数完成时,它的所有变量通常都会被删除。然而,有时候您希望某个局部变量不要被删除。 要做到这一点,请在您第一次声明变量时使用 static 关键字: */ function Fstatic() { //$ax = 1; //这样声明不会保留后续累计结果 static $ax=1; //这样声明变量后续结果会被保留 echo '这是第'.$ax.'次打印'.$ax,'<br>'; $ax++; }; Fstatic(); Fstatic(); Fstatic(); ?>
点击 "运行实例" 按钮查看在线实例