批改状态:未批改
老师批语:
今天是第九天上课,朱老师开始讲解变量,继而讲解了变量类型的检测,及变量的作用域。当然也了解了常量,对于数组的创建与访问有了基本的认识,最后的流程控制比较实用。
变量的作用域
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的基础,数组的概念也是十分重要,因为以后要经常和数组打交道。流程控制我感觉还需要实战的时候进行磨炼。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号