单向分支
<?php
// $x = 5; //定义一个整型变量$x,值为5
// $y = 10; //定义一个整型变量$y,值为10
// if ($x < $y) { //$x是小于$y的,所以执行下面语句块
// $t = $x; //先将$x的值放到临时的变量$t中
// $x = $y; //再将变量$y的值赋给变量$x
// $y = $t; //再将临时变量$t中的值赋给变量$y
// } //语句块结束的花括号
// var_dump($x > $y); //两个变量的值已经交换,输出true
// echo $x . " " . $y; //输出 10 5
// 模板化
$x = 5;
$y = 10;
if ($x < $y) :
$t = $x;
$x = $y;
$y = $t;
endif;
var_dump($x > $y);
echo $x . " " . $y; //输出 10 5
双向分支
<?php
// 双向条件分支 ,if ()else{...}
$x =20;
$y =10;
//判断的条件成立,此句会执行
if($x >$y){
echo "坚持就会胜利<br>";
//判断的条件不成立,此句会执行
}else{
echo "不要气馁,再坚持一下就会胜利 <br>";
}
多向分支
<?php
$amuont = 2500;
if ($amuont > 5000 && $amuont < 10000) {
$payment = $amuont * 0.9;
} elseif ($amuont >= 10000 && $amuont < 20000) {
$payment = $amuont * 0.7;
} elseif ($amuont >= 20000 && $amuont < 30000) {
$payment = $amuont * 0.5;
} else {
$payment = $amuont;
}
echo '实际支付:', $payment, '<br>';
//switch简化多分支机构
$week = date("D"); //获取当前的星期值,如Mon、Tue、Wed等
switch( $week ) {
case "Mon": echo "星期一"; break;
case "Tue": echo "星期二"; break;
case "Wed": echo "星期三"; break;
case "Thu": echo "星期四"; break;
case "Fri": echo "星期五"; break;
case "Sat": echo "星期六"; break;
case "Sun": echo "星期日"; break;
}
循环
<?php
// 循环
$cities = ['合肥', '南京', '杭州', '苏州', '上海'];
// 判断型循环:入口判断型 while(条件){...}
// 获取当前数组元素的值
// echo current($cities);
// next($cities);
// echo current($cities);
// next($cities);
// echo current($cities);
// next($cities);
// echo current($cities);
// next($cities);
// echo current($cities);
// 进入循环代码之前进行判断,只有条件为真才执行循环体
// while ($city = current($cities)) {
// echo $city, '<br>';
// // 前移指针
// next($cities);
// }
// reset($cities);
// while ($city = current($cities)) {
// echo $city, '<br>';
// // 前移指针
// next($cities);
// }
// 判断型循环:出口判断型 do{...}while(条件)
// reset($cities);
// do {
// echo $city, '<br>';
// // 循环体内必须要有更新循环条件的语句,否则进入死循环
// next($cities);
// } while ($city = current($cities));
// do while没有对应的模版语法
// 计数型循环:for(循环变量的初始化,循环条件;更新循环条件){...}
// echo count($cities);
// $i:数组元素的索引,默认从0开始
// for ($i = 0; $i < count($cities); $i++) {
// echo $cities[$i], '<br>';
// }
for ($i = 0; $i < count($cities); $i++) {
// 输出拦截
// if ($i > 2) break;
// 有选择输出,跳过一部分
if ($i === 3 || $i === 2) continue;
echo $cities[$i], '<br>';
}