运算符
<?php
$a = 10;
$b = 4;
// % 取模运算符
echo $a % $b.'<br>';
//比较运算符
$x=100;
$y="100";
//如果 x 等于 y,则返回 true
var_dump($x == $y);
echo '<br>';
//如果 x 等于 y,且它们类型相同,则返回 true
var_dump($x === $y);
echo '<br>';
//如果 x 不等于 y,则返回 true
var_dump($x != $y);
echo '<br>';
//如果 x 不等于 y,或它们类型不相同,则返回 true
var_dump($x !== $y);
echo '<br>';
// <=> 有三种返回结果:
var_dump(1 <=> 1); // 1 = 1 返回 0
echo '<br>';
var_dump(1 <=> 2); // 1 < 2返回 -1
echo '<br>';
var_dump(2 <=> 1) ; //2 > 1返回 1
echo '<hr>';
//逻辑运算符
// && 两边的逻辑必须都成立返回true,有一个不成立则返回false
var_dump(10 < 20 && 10 > 100);
echo '<br>';
// || 两边的逻辑只要有一个成立返回true,否则返回false
var_dump(10 < 20 ||10 > 100);
echo '<hr>';
//三元运算符,语法格式:(条件) ? (true) : (false))
//对 条件进行判断,条件为true时执行?后的第一个分支,为false执行第二个分支
$age = 20 ;
echo $age > 18 ?'已成年':'年龄不满18岁';
控制流程
//分支结构:单分支
//语法:if(){...}
$salary =10000;
$money = $salary;
if ($salary > 8000) {
$money = $salary *0.9;
}
echo '应发薪水:'.$money.'<br>';
//模板语法:用在与html代码混编的时候
if ($salary > 8000):
$money = $salary *0.9;
endif;
echo '应发薪水:'.$money.'<br>';
echo '<hr>' ;
//分支结构:双分支
//语法:if(){...} else {...}
$salary =5000;
$money = $salary;
if ($salary > 8000) {
$money = $salary *0.8;
} else{
$money = $salary;
}
echo '应发薪水:'.$money.'<br>';
//双分支模板语法
if ($salary > 20000):
$money = $salary *0.8;
else:
$money = $salary;
endif;
echo '应发薪水:'.$money.'<br>';
echo '<hr>' ;
//分支结构:多分支
//语法:if(){...} elseif {...} else {...}
$salary =30000;
$money = $salary;
if ($salary > 5000 && $salary < 10000) {
$money = $salary *0.9 ;
} elseif($salary >= 10000 && $salary < 20000){
$money = $salary *0.8;
}elseif($salary >= 30000 ){
$money = $salary *0.7;
}else{
$money = $salary;
}
echo '应发薪水:'.$money.'<br>';
//多分枝模板语法
$money = $salary;
if ($salary > 5000 && $salary < 10000) :
$money = $salary *0.9 ;
elseif($salary >= 10000 && $salary < 20000):
$money = $salary *0.8;
elseif($salary >= 30000 ):
$money = $salary *0.7;
else:
$money = $salary;
endif;
echo '应发薪水:'.$money.'<br>';
echo '<hr>' ;
//switch: 简化多分支
//语法:switch() {case: ... break...}
$salary =40000;
$money = $salary;
switch(true){
case $salary > 5000 && $salary < 10000;
$money = $salary *0.9 ;
break;
case $salary >= 10000 && $salary < 20000;
$money = $salary *0.8 ;
break;
case $salary >= 30000 ;
$money = $salary *0.7 ;
break;
default:
$money = $salary;
}
echo '应发薪水:'.$money.'<br>';
//switch: 模板语法
$money = $salary;
switch(true):
case $salary > 5000 && $salary < 10000;
$money = $salary *0.9 ;
break;
case $salary >= 10000 && $salary < 20000;
$money = $salary *0.8 ;
break;
case $salary >= 30000 ;
$money = $salary *0.7 ;
break;
default:
$money = $salary;
endswitch;
echo '应发薪水:'.$money.'<br>';
echo '<hr>' ;
// switch 更常用的场景是单值判断
$salary =22000;
$tax = 0.6;
switch($tax):
case 0.6:
$money = $salary *0.6 ;
break;
case 0.7:
$money = $salary *0.7 ;
break;
case 0.8:
$money = $salary *0.8 ;
break;
default:
$money = $salary;
endswitch;
echo '应发薪水:'.$money.'<br>'.'纳税率'.$tax;
循环
//while循环:while(){...}
//当$i 小于$b时停止循环
$i=10;
$b=0;
while($i>$b){
echo'您前面还有'.$i.'人'.'<br>';
$i--;
}
echo '<hr>';
// 模板语法
$i=10;
$b=0;
while($i>$b):
echo'您前面还有'.$i.'人'.'<br>';
$i--;
endwhile;
echo '<hr>';
//do{}while()循环
// 不管循环的条件成不成立都先执行一次输出,然后再进行判断
$i=10;
$b=0;
do
{
echo'您前面还有'.$i.'人'.'<br>';
$i--;
}
while($i>$b);
echo '<hr>';
//for循环
//语法
//for (初始值; 条件; 增量){ 要执行的代码;}
//初始值:主要是初始化一个变量值,用于设置一个计数。
//条件:循环执行的限制条件。如果为true,则循环继续。如果为 false,则循环结束。
//增量:主要用于递增计数器
for($i=0;$i < 10; $i++){
echo $i;
}
循环控制关键字:break
continue
for($i=0;$i < 10; $i++){
echo$i;
if($i === 5){
//跳出本层循环
break;
}
}
for($i=0;$i < 10; $i++){
if($i === 5){
//终止本次循环,提前进入下一轮
continue;
}
echo$i;
}