Correction status:qualified
Teacher's comments:
主题:
is_null(),empty(),isset()使用方法及变量作用域分析。
<?php // 一、is_null(),is_empty(),is_set()三种方法的使用: /* 变量为以下情况时使用is_null()返回结果为true: 1.当变量不存在时; 2.当变量已声明但未赋值时; 3.当变量赋值为null时; */ echo '<h3>is_null()的返回结果为true时的变量状态</h3>'; $null1 = '小明'; $null2 = null; $null3; unset($null1); @var_dump(is_null($null1)); //这里会报Notice警告,行首用@忽略警告 echo '<br>'; var_dump(is_null($null2)); echo '<br>'; @var_dump(is_null($null3)); echo '<hr>'; /* 变量为以下情况时使用empty()返回结果为true: 1.当变量为空字符串或空数组时; 2.当变量赋值为null时; 3.当变量赋值为0/'0'/false时; */ echo '<h3>empty()的返回结果为true时的变量状态</h3>'; $empty1 = ''; $empty2 = []; $empty3 = null; $empty4 = 0; $empty5 = '0'; $empty6 = false; var_dump(empty($empty1)); echo '<br>'; var_dump(empty($empty2)); echo '<br>'; var_dump(empty($empty3)); echo '<br>'; var_dump(empty($empty4)); echo '<br>'; var_dump(empty($empty5)); echo '<br>'; var_dump(empty($empty6)); echo '<hr>'; /* 变量isset()返回结果与is_null()相反: */ echo '<h3>isset()的变量状态</h3>'; $isset1 = '小明'; $isset2 = null; $isset3; unset($isset1); var_dump(isset($isset1)); echo '<br>'; var_dump(isset($isset2)); echo '<br>'; var_dump(isset($isset3)); echo '<hr>'; // is_null(),is_empty(),is_set()三种方法实际应用在验证表单中的用户输入内容、分页获取网页数据等地方。 // 二、变量作用域 /* 1.全局作用域:在函数外部使用,函数内部无法调用,名称自定义。 */ $name = '小明'; function people(){ global $name; //如果要在函数内部使用全局变量需要用global声明 return '老师点'.$name.'起来回答问题'; } echo people(); //未声明的话结果提示Undefined variable: name echo '<hr>'; /* 2.函数作用域:在函数内部使用,函数外部无法使用,名称自定义。 */ function student(){ $name = '小明'; return '老师点'.$name.'起来回答问题'; } echo student(); echo '<hr>'; /* 3.静态作用域:在函数内部使用,用static声明,名称自定义,变量只赋值一次 */ function num(){ // $number = 1; //如果不加static声明,函数结束之后重新调用会重新赋值1,就无法达到自增效果 static $number = 1; //加static声明之后,变量只赋值一次 return $number.'和'.$number++; } echo num(); echo '<br>'; echo num(); echo '<br>'; echo num(); echo '<hr>'; /* 4.超全局作用域:当前php脚本文档内任意调用,变量名固定且不用手动创建。 $_SERVER,$_COOKIE,$_SESSION,$_GET,$POST,$REQUEST等。 */ echo '<pre>'; print_r($_SERVER);
点击 "运行实例" 按钮查看在线实例
手写作业: