PHP程序设计中,很重要的环节就是条件判断!
条件判断能根据不同的情况执行不同的程序码或进行不同的流程。
流程控制:
程序执行的顺序就是流程。
程序一般来说,是由上而下一行一行的执行,但实际上根据逻辑,常常会需要判断某些状况与条件,并且在某些条件下时,去执行相对应的程序码,这就是所谓的流程控制
在PHP中,流程控制的语法有分为以下两种:
流程的分类
分支结构分类
但其实不用搞那麽复杂~~~ 直接使用看实例就是最好的学习方式,主要是会用,不过在进入流程控制之前,要先分清楚'='、'=='、'==='这三者的差别。
一个等号:是赋值运算子
二个等号:是关系运算子
三个等号:是关系运算子(严格比较版)
所以~~~
=:赋值
==:比较两者是否相等
===:比较两者是否相等(连类型也要相等)
PHP程序设计中,很重要的环节就是条件判断。条件判断才能根据不同的情况执行不同的程序码或进行不同的流程。
大部分的分支和回圈结构都是由布林值(boolean)判断式来控制的,也就是true或false。
<?php
//我们给程序一些条件,条件成立的话,就执行一些要做的事情
if(A条件true){
做B事情(A条件成立要做的事);
}
?>
养成好习惯,if(条件判断){} 要记得加括号,其实後面只有一句(一行程序码)可以不加,但如果加了会让人更易明白你程序码的范围,要修改也会更加方便~~~
if()内可以有不只一个条件,也就是可以有「多重条件」在2个条件都成立的情况下,才会执行对应要做的事情,并且可以藉由elseif进行更多的条件判断,以及最後条件否(false),执行else~
<?php
$ages = 20;
$is_driver = false;
if ($ages > 20 && $is_driver) {
echo '你就可以开车';
} elseif ($ages > 18 || $is_driver) {
echo '你就可以上车';
} else {
echo '乖~~~ 当个乖宝宝';
}
这边也来简单一个巢状分支结构好了
<?php
//定义三道门
$oneDoor = true;
$twoDoor = true;
$threeDoor = true;
echo '疫情不能出门,好无聊,化身马铃薯!!! <br/>';
if($oneDoor == true){
//房间开门
echo '诶呦诶呦~~~~~~~好高兴啊,终於可以出去走走了<br/>';
echo '走走走,到了家里大门口<br/>';
//判断家里大门是否已开
if($twoDoor == true){
//开门
echo '家里大门已开,大摇大摆走出来,马铃薯变身成小调皮<br/>';
echo '走走走,走到了健身房门口<br/>';
//判断健身房门口是否开门
if($threeDoor == true){
echo '健身房门口已开,喔喔喔喔~ 我终於可以到健身房走走!<br/>';
}else{
echo 'QAQ 我要再次变身马铃薯了喔...<br/>';
}
}else{
echo '芝麻开门<br/>';
}
}else{
echo '在家看动漫好开心~~~ <br/>';
echo '但都追完了,求番推荐ㄚㄚ!! 疫情快结束让我出门走走吧 <br/>';
}
基本的语法格式:
<?php
switch(变数){
case 值1:
变数==值1时执行这里;
break;
case 值2:
变数==值2时执行这里;
break;
case 值3:
变数==值3时执行这里;
break;
default:
上面的都不吻合,那就执行这里;
}
?>
switch...case的分支结构可以同时执行多条分支,因此==别忘记加braek唷!==,不然程序会持续执行下去wwwww
switch包含许多组case,每一组case都有一个需要比较的值,在执行时,switch()内的变数会按照由上而下的顺序一一与case中的值做比较,若符合条件就执行对应的程序码
直到碰到break或是switch程!式区块执行到结尾才会停止,换句话说case是执行点,break是结束点,而default就像是if...else中的else,如果上面的每一组case都不符合,就会执行default!
PS. switch...case 只适用於精确值的判断,不适用於范围值的判断。
来看看程序码吧,这个范例是用来转换并显示今天是星期几
<?php
$week = 2;
switch($week){
case 1:
echo '今天是周一,中午吃馄饨面<br/>';
break; //终止分支结构执行
case 2:
echo '今天周二,中午吃生菜沙拉(我好健康)<br/>';
break;
case 3;
echo '今天是周三,中午是便当<br/>';
break;
case 4:
echo '今天是周四,中午吃....<br/>';
break;
case 5:
echo '今天是周五,中午我已经不知道要吃什麽了<br/>';
break;
default:
echo '今天是周末,当然睡到中午阿!<br/>';
}
其实跳出回圈的指令我写在明天,因为今天觉得篇幅够多了><,明天会介绍回圈、跳出回圈指令—break、continue、goto~~
今天觉得编故事蛮快乐的,编如果...会怎样...,也是一个小游戏,有一个破冰游戏就是接龙故事,游戏开始前先设好开头跟结尾,每个人对上一个人的发言,接下去,接力完成一个故事,最後要圆回来,这蛮考验想像力的XDD
前言 昨天讲完 Javascript OOP 两个重要支柱,今天接着这个主题,来讲讲 class 吧...
DAY29 用 Application Insights 来监视部署的模型 我们已经把大部份的 Az...
我最近在考虑要找人来帮忙管理我们的 App。请认识的人介绍时,我说工作内容包括:看用户的反馈然後分类...
Python程序语言总共有二种回圈的语法。第一种是"for"回圈,另外一个则是&...
串列(list)是一种资料型态(Data type),在串列中的每一个元素都会被分配一个值从&quo...