分支结构
常见分支结构
编程语言常见分支结构有:
- if语句
- if-else语句
- if-elseif-else语句
- switch语句
其中,除了if-elseif-else语句外,另外3中分支语句在php中和C++/Java是一模一样的!
而if-elseif-else 的唯一不同点就在,【elseif 】这个关键字既可以合一起写(C++/Java不可以),也可以拆开写成【else if】
因此,看到php代码中的【else if 】,请避免误认为是语法错误
区别演示
php
<?php
$a = -1;
if($a > 0){
echo "a是正数";
}
elseif($a < 0){
echo "a是负数";
}
else{
echo "a等于0";
}
循环结构
常见循环结构
编程语言常见循环结构有:
- for循环
- while循环
- do-while循环
这3个循环的语法格式和使用规则(包括break和continue这两个循环控制关键字的作用)在php中和C++/Java是一模一样的!硬要说不太一样的方面的话,php循环语句的循环变量在括号中可以不用数据类型关键字来定义变量,毕竟php本身就是弱类型语言,不必声明变量类型!
区别演示
流程控制替代语法
替代语法概述
PHP 本身是嵌入到 HTML 中的脚本语言,需要在 HTML 中书写一些关于判断或者循环的结构语法,必须符合 PHP 标签规范,需要 HTML与 PHP 进行混搭,如果使用原始的 PHP 代码那么会非常不美观
php语法允许这样写代码
即:对于一个for循环,使用两组php标签来包围,
第一组包围:<?php for(;;){ ?>
第二组包围:<?php } ?>
(注意红色部分是php标签,紫色部分是完整的for循环语句,如果嵌套for的话,仍如此做)
如果这样写,那就可以直接使用html的标签而不必使用echo等输出语句,如下:
例如现在需要打印一个9*9的表格,在表格中书写九九乘法表
那么对于表格的9个行标签和9个列标签,可以这样显示
php
<table border="1">
<?php for ($i = 1; $i < 10; $i++) { ?>
<tr>
<?php for($j = 1; $j <= $i; $j++) { ?>
<td></td>
<?php } ?>
</tr>
<?php } ?>
</table>
有了表格后,再加上数据,九九乘法表就出来啦
php
<table border="1">
<?php for ($i = 1; $i < 10; $i++) { ?>
<tr>
<?php for ($j = 1; $j <= $i; $j++) { ?>
<td>
<?php echo $j . '*' . $i . '='. $i * $j;?>
</td>
<?php } ?>
</tr>
<?php } ?>
</table>
php分支/循环语句花括号替代
在 PHP 书写到 HTML 中的这些花括号{}非常**"扎眼"**,所以 PHP 提供了一种替代机制,让其可以不用书写花括号
例如for循环中
for(;;){替代成for(;;):
} 替代成****endfor;
总的来说,其它分支结构和循环结构中有大括号的,均可采用此替代语法即:
左大括号 ({ )使用冒号(:)替代
右大括号 (})使用**end+相应关键字;**替代,如【endif; 】,【endswitch; 】,【endwhile;】
需要注意的是:do-while循环语句特殊,不具有这种替代语法!
php
<table border="1">
<?php for ($i = 1; $i < 10; $i++) : ?>
<tr>
<?php for ($j = 1; $j <= $i; $j++) { ?>
<td>
<?php echo $j . '*' . $i . '='. $i * $j;?>
</td>
<?php } ?>
</tr>
<?php endfor; ?>
</table>