Correcting teacher:天蓬老师
Correction status:qualified
Teacher's comments:
<?php
// 1.算术运算符
printf('5 + 3 = %d<br>',(5 + 3));
printf('5 - 3 = %d<br>',(5 - 3));
printf('5 * 3 = %d<br>',(5 * 3));
printf('5 / 3 = %d<br>',(5 / 3));
// %取模:也叫取余,余数一定是整数
printf('5 / 3 的余数:%d<br>',(5 % 3));
// ++ --
$a = 10;
// ++$a:先执行$a = $a + 1再用$a
printf('++$a = %d , $a = %d<br>',++$a,$a);
$a = 10;
// $a++:先用$a,再执行$a = $a + 1
printf('$a++ = %d , $a = %d<br>',$a++,$a);
$a = 10;
printf('--$a = %d , $a = %d<br>',--$a,$a);
$a = 10;
printf('$a-- = %d , $a = %d<br>',$a--,$a);
echo '<hr>';
// 2.赋值运算符
$a = 1;
$b = 2;
$a += $b;
echo $a,'<br>';
$a -= $b;
echo $a,'<br>';
$a *= $b;
echo $a,'<br>';
$a /= $b;
echo $a,'<br>';
$a %= $b;
echo $a,'<br>';
// .=:字符串拼装
$str = 'php';
$str .= '.cn';
echo $str;
echo '<hr>';
// 3.比较运算符:返回的是布尔:boolean
var_dump(100 > 80);
// "==": 只要求值相等就是true,如果二边类型不同则自动转换
var_export(100 == '100');
var_export(100 == (int)'100');
var_export((string)100 == '100');
echo '<br>';
// "===": 要求值,类型全相同才返回true,建议开发中使用这个,如果类型不相同可以手动干预
var_export(100 === '100');
var_export(100 === (int)'100');
// php7,太空船
$a = 25;
$b = 25;
echo '<br>';
echo $a <=> $b;
echo '<hr>';
// 4.逻辑运算符
// 与 && , 或 ||, 非 !
// 要求二边的操作数都bool,如果不是就自己动手
$username = 'admin';
if ($username && $username === 'admin'):
echo '欢迎管理员登录' . $username . '<br>';
else:
echo '请登录';
endif;
if (!$email):
echo '没输入邮箱';
endif;
echo '<hr>';
// 三元运算符简化
$age = 19;
echo $age >= 18 ? '立即观看' : '请在父母陪同下观看!';
?>
<?php
// 流程控制:分支
// 1. 单分支
$score = 80 ;
if ($score >= 60) {
echo '恭喜你,通过了!<br>';
}
// 单分支替代语法
if ($score >= 60) :
echo '恭喜你,考试通过了!';
endif ;
echo '<hr>';
// 2. 双分支
$score = 30;
if ($score >= 60) {
echo '恭喜你通过了!<br>';
} else {
echo '考试不合格!<br>';
}
// 双分支替代语法
if ($score >= 60) :
echo '恭喜你,考试通过了!';
else :
echo '考试成绩不合格!<br>';
endif ;
// 简化:三元运算符
echo $score >= 60 ? '恭喜你,考试通过了!<br>' : '考试成绩不合格!';
echo '<hr>';
// 3. 多分支
$age = 15;
if ($age >= 18 && $age < 60){
echo '已到法定年龄<br>';
} else if ($age >= 60) {
echo '监外执行!<br>';
} else {
echo '现法定刑事责任年龄已降到14周岁<br>';
}
// 替代语法
if ($age >= 18 && $age < 60) :
echo '已到法定年龄!';
elseif($age >= 60):
echo '监外执行!';
else:
echo '现在法定刑事责任年龄已降到14周岁!';
endif;
echo '<hr>';
// 4. switch 多分支简化方案
$age = 12;
switch ($age) {
case $age >= 18 && $age < 60:
echo '已到法定年龄!<br>';
break;
case $age >= 60:
echo '监外执行!<br>';
break;
default:
echo '现法定刑事责任年龄已降至14周岁!<br>';
}
// switch替代语法
switch ($age):
case $age >= 18 && $age < 60:
echo '已到法定年龄';
break;
case $age >= 60:
echo '监外执行';
break;
default:
echo '现在法定刑事责任年龄已降到14周岁!';
endswitch;
?>
<?php
$city = ['北京','上海','广州','深圳'];
// 1.while循环
// 1.入口型 while(...) {}
$i = 0;
while ($i < count($city)) {
echo $city[$i],'<br>';
$i++;
}
// 替代语法
echo '<br>';
$i = 0;
while ($i < count($city)):
echo $city[$i],'<br>';
$i++;
endwhile;
echo '<hr>';
// 出口型 do{} while()
$i = 0;
do{
echo $city[$i],'<br>';
$i++;
}while($i < count($city));
echo '<hr>';
// 2. 计算式,for
for ($i = 0; $i < count($city);$i++){
echo $city[$i],'<br>';
}
echo '<br>';
// 替代语法
for ($i = 0; $i < count($city);$i++):
echo $city[$i],'<br>';
endfor;
?>
1.文件包含本质是模块化编程,引入时会自动插入一个结束标记,进入到html模式,被插入的脚本可以访问当前作用域中的所有成员。
2.include/require区别是,include引入时报错仍会执行后面的代码,require引入时报错就不会执行后面的代码。