Correction status:Uncorrected
Teacher's comments:
is_null(),empty(),isset()三个函数的使用方法
<meta charset="utf-8"> <?php /** * is_null(): * 1.变量为null * 2.变量未赋值 * 3.unset()删除变量 * 总结:变量不存在/没赋值/值为null,则返回true */ $val1 = null; $val2; $val3 = 123; unset($val3); var_dump((is_null($val1)? true :false)); @var_dump((is_null($val2)? true :false)); @var_dump((is_null($val3)? true :false)); echo '<hr>'; /** * empty() * 空字符串,空数组 * null:null一定是空,空不一定是null * 0、'0'、false * */ $str1 = ''; $str2 = []; $str3 = null; $str4 = 0; $str5 = false; var_dump(empty($str1)?true:false); var_dump(empty($str2)?true:false); var_dump(empty($str3)?true:false); var_dump(empty($str4)?true:false); var_dump(empty($str5)?true:false); /** * 判断用户是否在文本框输入内容用:empty() * 因为文本框value属性,默认为空 */ /** * isset()是null的相反操作 * 变量存在且不为null,返回true * 判断变量有和无用isset() */ echo '<hr>'; $text1 = '蚊子好烦人'; $text2 = null; $text3; var_dump(isset($var)); var_dump(isset($text1)); var_dump(isset($text2)); var_dump(isset($text3)); /** * 总结: * 变量两种状态:已声明和未声明 * $var是未声明为赋值 * 对于已经声明过的变量有两种:已赋值,未赋值:text3未赋值 * 变量可能会被赋值有三种:null,空,非空 * null is_null() * 空 :empty() * 空或非空 isset() * * 基本原则: * 对于未声明的只能有isset() * 对于已经声明的:为空用empty(),是否初始化用is_null() */ echo '<hr>'; // 变量未声明 // 用isset判断不报警 var_dump(isset($a)); // 实例 :分页显示数据,如果当前的url地址中有分页变量p,输入指定页 // 如果没有就默认第一页 // 如果p存在了,就输入p,如果没有就输入1 $page = isset($_GET['p']) ? $_GET['p']:1; echo $page; //没有赋值,就默认给null @var_dump(is_null($a)); // null就是空,空不一定时null var_dump(empty($a)); // 第二种,变量已经赋值了 $a = '123'; $b = ''; $c = null; echo '<hr>'; var_dump(isset($a)); var_dump(empty($b)); var_dump(is_null($c)); /** * 什么时候用null * 如果不确定变量最终是什么类型的时候,用null初始化 * 对象建议用null初始化 */ ?>
点击 "运行实例" 按钮查看在线实例
变量的作用域: 全局,局部,静态
<meta charset="utf-8"> <?php /** * 函数:是脚本中具有特点功能的代码段,(可以重复调用) * 语法:声明:function funcName (参数){代码段} * 表达式:$funcName = function(args){代码段}/匿名函数/不需要函数名 * 调用:按名称调用 : funcName(arg) * 三种模式: * 全局 * 局部 * 静态 */ // 全局,只要不是在函数中创建就是全局 $siteName = '蚊子很烦人'; // function是函数关键字 // 在函数被创建就是局部 function hello() { // 函数内部不能直接访问全局变量 // 作用域不一样 // global $siteName;声明即可访问全局变量 // 可以直接用全部数组替换 $userName = 'admin'; // return 'Hello'.$siteName.',我是:'.$userName; return 'Hello'.$GLOBALS['siteName'].',我是:'.$userName; } echo hello(); echo '<br>'; /** * 静态变量 * 变量只有在第一次执行的时候赋值,之后就不会赋值了 */ function myStatic(){ static $num = 1; return '第'.$num.'次输出'.$num++.'<br>'; } echo myStatic(); echo myStatic(); echo myStatic(); /** * 超级全局变量:$_SERVER,$_COOKE,$_SESSION,$_GET,$_POST,$_REQUEST * $_REQUSET = $_GET+$_POST+$_COOKE */ echo '<hr>'; // get从url中传入? echo '我的姓名是:'.$_GET['name']; echo '<hr>'; //在函数中引用 function sayName(){ return '我的名字是:'.$_GET['name']; } echo sayName(); ?>
点击 "运行实例" 按钮查看在线实例