结构语句
顺序结构
顺序结构就像一条直线,按着顺序一直往下执行。我们编写的代码默认都是按照顺序结构执行的。
if 和 if...else... 和 if..else if... 和 if..else if...else
以上三种都是同样的方式进行判断, 再执行相应的代码块
<?php
if(条件){
//分配服务器干的任务A
}else{
//分配服务器干的任务B
}
?>
通过条件判断,若返回值为布尔值TRUE,则执行任务A,若返回值为FALSE,则执行任务B。
例子:
<?php
date_default_timezone_set('asia/ShangHai'); // 设置默认时区
$day = date('m-d'); // 获取当前日期
if ($day === '03-08') {
echo '今天是女神节哦';
} else if ($day === '10-01') {
echo '今天是国庆节哦';
} else {
echo '今天好好上班吧,别想那么多!';
}
?>
结果: 今天好好上班吧,别想那么多!
switch...case
<?php
switch (条件)
{
case 条件值一:
//任务一
break;
case 条件值二:
//任务二
break;
default:
//默认任务
}
?>
首先判断条件,若条件的返回值为条件值一,则执行任务一,若条件返回的值为条件值二,则执行任务二,若条件的返回值既不是条件值一也不是条件值二,则执行默认任务。break的作用是结束switch(后面会有专门举例说明),使用 switch 语句可以避免冗长的 “if..else if..else”代码块。
例子:
<?php
$a = 4;
switch ($a) {
case 1:
$a *= 1;
break;
case 2:
$a *= 2;
break;
case 3:
$a *= 3;
break;
case 4:
$a *= 4;
break;
default:
$a *= 0;
}
echo $a; // => 16
?>
如果没有使用 break, 执行完 case 4 之后并没有终止代码的执行, 将继续执行 default 的内容, 结果如下:
<?php
$a = 4;
switch ($a) {
case 1:
$a *= 1;
case 2:
$a *= 2;
case 3:
$a *= 3;
case 4:
$a *= 4;
default:
$a *= 0;
}
echo $a; // => 0
?>
while 循环和 do...while循环
while 循环结构:
while (条件) {
// 代码块
}
会先判断条件, 条件为 true 则执行 while 里面的代码块, 执行完毕, 再判断条件, 当条件为 false 时, 结束 while 循环
<?php
$num = 10;
while ($num > 0) {
echo $num.'<br />';
$num--; // $num = $num - 1
}
?>
while 循环结果
do...while循环结构:
do{
// 代码块
} while (条件)
会先去执行代码块, 再判断条件, 条件为 true 继续, 条件为 false 则结束, 和 while 不同的是, do...while 至少会执行一次代码块
<?php
$num = 10;
do{
echo $num.'<br />';
$num--; // $num = $num - 1
}while ($num > 10)
?>
do...while循环结果
for 循环
<?php
for(初始化;循环条件;递增项){
//执行任务
}
?>
for 语句中,“初始化”在循环开始前无条件求值一次,“循环条件”在每次循环开始前求值。如果值为 TRUE,则继续循环,执行循环体语句(执行任务)。如果值为 FALSE,则终止循环。“递增项”在每次循环之后被求值(执行)。其常用于循环执行代码块指定的次数。
例子:
<?php
for ($i=0; $i<10; $i++) {
echo $i.'<br />';
}
?>
for 循环结果
foreach 循环
PHP 中的 foreach 循环语句, 常用语遍历数组, 一般有两种使用方法:
- 只取值, 不取下标
<?php
foreach (数组 as 值){
//执行的任务
}
?>
例子:
<?php
$arr = array('2010'=>'liguoyou', '2012'=>'guoyou', '2019'=>'guoyou.li');
foreach ($arr as $v) {
echo $v.'<br />';
}
?>
foreach 只取值,不取下标的例子结果
- 同时取下标和取值
<?php
foreach (数组 as 下标 => 值){
//执行的任务
}
?>
例子:
<?php
$arr = array('2010'=>'liguoyou', '2012'=>'guoyou', '2019'=>'guoyou.li');
foreach ($arr as $key => $v) {
echo $key.':'.$v.'<br />';
}
?>
foreach 同时取值和取下标
注: array 有默认索引, 从 0 开始
<?php
$arr = array('liguoyou', 'guoyou', 'guoyou.li');
foreach ($arr as $key => $v) {
echo $key.':'.$v.'<br />';
}
?>
array 默认索引
参考资料来源: https://www.imooc.com/learn/54
网友评论