Correction status:Uncorrected
Teacher's comments:
今天是第九天上课,朱老师开始讲解变量,继而讲解了变量类型的检测,及变量的作用域。当然也了解了常量,对于数组的创建与访问有了基本的认识,最后的流程控制比较实用。
变量的作用域
php只有函数作用域,一共有三种作用域:全局的:在函数外部创建的变量,可在函数外部直接使用。
局部的:函数内部创建的变量,仅限在函数内部使用。
静态的(static):函数内部创建,仅在内部使用并且函数之后值不销毁。
变量的类型与检测
代码:
<?php header('Content-type:text/html;charset=utf-8'); echo '<h3>变量的类型</h3>'; //变量类型 //标量:单值变量,数值(整数,浮点),布尔,字符串 //复合类型:数组,对象 //特殊类型:资源,null $var = 'name';//字符串 $age = '33';//整型 $num = '123.9';//浮点型 $sex = true;//布尔 $array = ['a','b','c'];//数组型 $student = new stuClass();//对象 $file = fopen('test.txt', 'r') or die('打开失败');//用只读方式打开文件 echo fread($file, filesize('test.txt'));//读文件,第二个参数表示读多少长度,这里读所有 fcolse($file); $null = null; //变量检测 gettype($var);//检测变量类型 settype($num, 'varchar');//永久地设置类型 echo '<hr>'; // is_null() 以下三种情况返回true $val1; // 声明但未赋值 $val2 = null; // 声明并初始化 $val3 = 'php'; unset($val3);//销毁变量 @var_dump(is_null($val1) ? true : false);//true @var_dump(is_null($val2) ? true : false);//true @var_dump(is_null($val3) ? true : false);//true // empty() // 空字符串, 空数组, null, 0 或 '0' /,false 返回 true $str1 = ''; $str2 = []; // 空数组 $str3 = 0; $str4 = '0'; $str5 = false; echo '<hr>'; @var_dump(empty($str1) ? true : false);//true @var_dump(empty($str2) ? true : false);//true @var_dump(empty($str3) ? true : false);//true @var_dump(empty($str4) ? true : false);//true @var_dump(empty($str5) ? true : false);//true //isset():检测一个变量是否存在? 是 null 的反操作 // 变量已经存在,并且它的值不是null,返回true echo "<hr>"; $a = null; var_dump(isset($a)); $b = 'zhu'; var_dump(isset($b)); $c; // 等价于 $c = null var_dump(isset($c));
点击 "运行实例" 按钮查看在线实例
分支结构
代码:
<?php header('Content-type;charset=utf-8'); /** * 流程控制: 条件判断与多分支 */ for($row = 0; $row < 10; $row++) { for($col = 0; $col < 19 ; $col++) { if($row == 0 || $row == 9 ){ echo 'z'; }else if($row == 9 - $col){ echo 'z'; }else{ echo " "; } } echo '<br>'; }
点击 "运行实例" 按钮查看在线实例
总结:这里用z输出了一个Z字母,用了嵌套的for语句。
课堂总结:此次课堂的变量是重中之重,学号变量是学号PHP的基础,数组的概念也是十分重要,因为以后要经常和数组打交道。流程控制我感觉还需要实战的时候进行磨炼。