一、分支,流程控制
//1.单分支
$num=10;
$num1=20;
if($num>$num1){
echo 'num大于num1';
}
//2.双分支
if($num<$num1){
echo 'num小于num1';
}else{
echo 'num大于num1';
}
//2.1使用三元运算符简化分支
echo $num < $num1 ? 'num小于num1':'num大于num1';
//3.多分支
$a = 200;
$b = 200;
if($a==$b){
echo 'a=b';
}elseif ($a>$b){
echo 'a > b';
}elseif ($a<$b){
echo 'a < b';
}
//3.1使用模板语法定义多分支
$a = 1200;
$b = 200;
if ($a == $b):
echo 'a=b';
elseif ($a > $b):
echo 'a > b';
else:
echo 'a < b';
endif;
//3.2使用swich简化多分支
$a = 200;
$b = 1200;
switch (1) {
case $a > $b:
echo 'a > b';
break;
case $a == $b:
echo 'a = b';
break;
default:
echo 'a < b';
}
//3.2.1使用模板语法演示swich
switch (1) :
case $a > $b:
echo 'a > b';
break;
case $a == $b:
echo 'a = b';
break;
default:
echo 'a < b';
endswitch;
//3.2.2 在条件中使用逻辑运算符
$score=95;
switch ($score):
case $score>=60&&$score<=80:
echo '一般';
break;
case $score>80||$score<=100:
echo '优秀';
break;
default:
echo '不及格';
break;
endswitch;
二、循环
- while 循环,只要 while 表达式的值为 TRUE 就重复执行嵌套中的循环语句。表达式的值在每次开始循环时检查,所以即使这个值在循环语句中改变了,语句也不会停止执行,直到本次循环结束。
示例:
$arr = [1, 2, 3, 4, 5, 6, 7, 8, 9];
$i = 0;
while ($i < count($arr)) {
echo $arr[$i] . '<br>';
$i++;
}
echo '<hr>';
//使用current()和next()
//current()返回数组中的当前单元
//next() - 将数组中的内部指针向前移动一位
while ($item = current($arr)) :
echo $item;
next($arr);
endwhile
echo '---while循环<hr>';
- do-while 循环,和while 循环区别在于表达式的值是在每次循环结束时检查而不是开始时
//重置指针位置
reset($arr);
//因为第一次循环的时候$item并没有被赋值,所以输出结果会少1位
do{
echo $item;
next($arr);
}while($item = current($arr));
echo '---do while循环<hr>';
- for循环
for ($i=0;$i<count($arr);$i++){
// break; 提前终止循环,直接跳出
// continue; 终止当前循环,开始下一轮
echo $arr[$i];
}
echo '---for循环<hr>';
- foreach循环,foreach 仅能够应用于数组和对象
<?php
$data = [
['id' => 1, 'name' => 'jack', 'age' => 22],
['id' => 2, 'name' => ' Alexander', 'age' => 32],
['id' => 3, 'name' => 'Anastasia ', 'age' => 42]
];
//每次循环中,当前单元的值被赋给 $item 并且数组内部的指针向前移一步
foreach ($data as $item) {
echo $item['id'] . '->' . $item['name'] . '->' . $item['age'] . '<br>';
}
示例:
<?php
$data = [
['id' => 1, 'name' => 'jack', 'age' => 22],
['id' => 2, 'name' => ' Alexander', 'age' => 32],
['id' => 3, 'name' => 'Anastasia ', 'age' => 42]
]
?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>for循环示例</title>
</head>
<body>
<table border="1">
<thead>
<tr>
<th>ID</th>
<th>name</th>
<th>age</th>
</tr>
</thead>
<?php foreach ($data as $item) : ?>
<tr>
<td><?php echo $item['id'] ?></td>
<td><?php echo $item['name'] ?></td>
<td><?php echo $item['age'] ?></td>
</tr>
<?php endforeach; ?>
</table>
</body>
</html>