php流程控制与运算符
流程控制
简单的说,流程控制能把整个执行流程,控制起来,通过不同的条件,来达到目的,下面通过案例来认识一下流程控制。
单分支
单分支就是只有一种结果,要么为1,要么不执行,结构非常简单,后面如果只有一条语句的话,就可以把大括号给省略
$price = 100;
if ($price < 2000) echo '真便宜';
效果图
双分支
双分支的执行顺序,有两条结果,有点像我们生活中的开关,要么开,要么关,简单易懂。
$amount = 7001;
if ($amount > 7000):
$payment = $amount * 0.7;
else :
$payment = $amount;
endif;
echo '实际支付金额: ' . $payment . '<br>';
echo '<hr>';
效果图
多分支
多分支结构,理解起来也很简单,有点像我们去买东西,根据结算金额不同,折扣力度也会不同,越往大就越优惠。
$amount = 800;
if ($amount > 5000 && $amount < 10000) :
$payment = $amount * 0.6;
elseif ($amount > 2000 && $amount <5000) :
$payment = $amount * 0.5;
elseif ($amount > 1000 && $amount < 2000) :
$payment = $amount * 0.4;
else :
$payment = $amount;
endif;
echo '实际支付' . $payment . '元' . '<br>';
echo '<br>';
效果图3
switch语句
switch语句,更多的用在单值判断,根据自身的值,来选择合适的条件
$amount = 10000;
switch (true) :
case $amount > 5000 && $amount < 10000:
$payment = $amount * 0.9;
break;
case $amount >= 10000 && $amount <= 20000:
$payment = $amount * 0.8;
break;
case $amount > 20000;
$payment = $amount * 0.5;
break;
default:
$payment = $amount;
endswitch;
echo '应付金额' . $payment . '<br>';
echo '<hr>';
效果图
入口判断型
对一个值,进行循环的判断,直到执行为0,跳出循环为止,所以必须有一个跳出循环的条件,不然容易陷入死循环
reset($fruits);
$fruits = ['香蕉','葡萄','菠萝','苹果','橘子'];
while ($fruit = current($fruits)) :
echo $fruti . '<br>';
next($frutis);
endwhile;
echo '<hr>';
效果图
出口判断型
出口判断型把判断条件放在最后,这样不管怎样,都会执行一遍,而入口则不同,为0,则跳出循环。
reset($fruits);
$fruits = ['香蕉','葡萄','菠萝','苹果','橘子'];
do {
$fruit = current($fruits);
echo $fruit . '<br>';
next($fruits);
} while ($fruit = current($fruits));
echo '<hr>';
效果图
记数型
记数型,会把循环次数给记录下来,整个循环我们就可以,知道循环了几次
reset($fruits);
$fruits = ['香蕉','葡萄','菠萝','苹果','橘子'];
for ($i = 0; $i < count($fruits); $i++) :
echo $fruits[$i] . '<br>';
endfor;
echo '<hr>';
效果图7
运算符
$a = 123;
echo 2**4 .'<br>';
echo $a . '<br>';
echo $a .= 'b' . '<br>';
var_dump($a <=> $a);
效果图8
总结
根据结构我们大致可以分为两种,分支结构、循环结构,且每种的模板语句都不同,模板语句的存在,就是在与html代码混在一起的时候,能够干掉大括号,为了代码能够更好合在一起,括号多了就非常难找,虽然刚开始比较不习惯,用多了就顺手了.现在只有将基本知识掌握,才能更好的在项目中,更好的运用,每天进步一点点。