PHP基础之流程控制
PHP中的流程控制语句与其他编程语言类似,这里就不多说了,直接通过代码来看吧。
1.if条件语句
if(exp)
{
statement1;
}
else
{
statement2;
}
很容易理解,如果exp为true,那么执行statement1,否则执行statement2.此处exp为布尔类型。
当程序有多个分支的时候,可以使用else if 语句继续添加条件判断。
if(exp)
{
statement1;
}
else if(exp2)
{
statement2;
}
else
{
statemement3;
}
$int_car_price = 80;
if ($int_car_price > 100) {
echo "Expensive Car Price. " . "<br/>";
} else if ($int_car_price < 100 && $int_car_price > 20) {
echo "Good Car Price. " . "<br/>";
} else {
echo "Cheap Car Price." . "<br/>";
}
输出:Good Car Price.
2.switch分支
switch语句类似与有多个判断条件的if语句。switch会将一个变量或者表达式的值与多个不同的值进行比较,若与其中一个的值相等,那么就执行该分支下的代码。
如果比较完所有分支还没有找到的话,那么就执行默认的代(default分支下的代码)。
$x = 3;
switch ($x) {
case 0:
echo "The variable is 0." . "<br/>";
break;
case 1:
echo "The variable is 1." . "<br/>";
break;
case 2:
echo "The variable is 2." . "<br/>";
break;
case 3:
echo "The variable is 3." . "<br/>";
break;
default:
echo "The variable is not found." . "<br/>";
break;
}
输出:The variable is 3.
3.while语句
语法格式:
while(exp)
{
statement;
}
当exp为真时,执行里面的代码。先进行判读,然后决定是否执行。
$y = 95;
while ($y < 100) {
$y += 1;
echo "y=$y" . "<br/>";
}
输出:
y=96
y=97
y=98
y=99
y=100
4.do while语句
语法格式:
do
{
statement;
}while(exp);
和while语句类似,唯一的区别在与do while 语句会先执行do语句块的代码,然后判断exp值来决定是否继续执行代码块。
也就是说,该语句不论exp值为true或者false都至少执行一次。
$do_exp = 100;
do {
$do_exp += 1;
echo "do_exp=$do_exp" . "<br/>";
} while ($do_exp < 100);
输出:do_exp=101
5.for循环
这是我们最熟悉的语句了吧,
语法格式:
for(exp1;exp2;exp3)
{
statement;
}
该语句先执行exp1,然后执行代码块,在执行exp3,然后判断exp2表达式的条件真假,如果为真,则继续执行代码块,反之跳出循环。
特别说明:exp2可以是多个表达式,表达式之间用逗号分隔,在程序执行过程中,所有表达式都会被计算,但是最终只取最后一个表达式的结果。如果exp2为空,则表示进行无限循环,此时我们可以在代码块中加入相应的判断语句来结束循环。
for ($i = 0; $i < 10; $i++) {
echo "i=$i" . "<br/>";
}
for ($i = 0;; $i++) {
if ($i >= 10) {
break;
}
echo "i=$i" . "<br/>";
}
两个for语句的输出是相同的:
i=0
i=1
i=2
i=3
i=4
i=5
i=6
i=7
i=8
i=9
6.foreach语句
foreach语句是循环遍历数组时常用的方法,它仅仅能够用于数组和对象。
语法格式:
foreach(array_exp as $value)
{
statement;
}
或者
foreach(array_exp as $key => $value)
{
statement;
}
$array = [0, 1, 2, 3, 4];
foreach ($array as $value) {
echo "value is :$value" . "<br/>";
}
foreach ($array as $key => $value) {
echo "value is :$value key is :$key" . "<br/>";
}
输出:
value is :0
value is :1
value is :2
value is :3
value is :4
value is :0 key is :0
value is :1 key is :1
value is :2 key is :2
value is :3 key is :3
value is :4 key is :4
值得一提的是在php7中,foreach是对数组的复制操作,也就是说在循环过程中对数组的修改不会影响循环行为。但是引用类型的循环时会对数组本身产生影响。
$arrry2 = [0];
foreach ($arrry2 as $value) {
$arrry2[0] = 5;
var_dump($value);
echo "<br/>";
}
foreach ($arrry2 as &$value) {
$arrry2[0] = 5;
var_dump($value);
echo "<br/>";
}
输出:
int(0)
int(5)
7.跳转语句
跳转语句包含break,continue以及goto语句。break和continue是在循环语句中使用。利用goto语句程序员可以在同一个文件和作用域内进行任意位置的跳转。
for ($a = 0; $a < 10; $a++) {
if ($a == 2) {
echo "value is :$a now break;" . "<br/>";
}
if ($a == 5) {
echo "value is :$a now continue;" . "<br/>";
}
if ($a == 8) {
goto a;
}
}
a:
echo "跳出for循环" . "<br/>";
输出:
value is :2 now break;
value is :5 now continue;
跳出for循环
还没有评论,来说两句吧...