php基础学习之分支结构和循环结构(不细讲,来对比一下和两大常用高级编程语言(C++/Java)的细微区别以便记忆)

分支结构

常见分支结构

编程语言常见分支结构有:

  1. if语句
  2. if-else语句
  3. if-elseif-else语句
  4. 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";
}

循环结构

常见循环结构

编程语言常见循环结构有:

  1. for循环
  2. while循环
  3. 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>
相关推荐
JaguarJack20 小时前
推荐 PHP 属性(Attributes) 简洁读取 API 扩展包
后端·php·服务端
BingoGo21 小时前
推荐 PHP 属性(Attributes) 简洁读取 API 扩展包
php
JaguarJack2 天前
告别 Laravel 缓慢的 Blade!Livewire Blaze 来了,为你的 Laravel 性能提速
后端·php·laravel
郑州光合科技余经理2 天前
代码展示:PHP搭建海外版外卖系统源码解析
java·开发语言·前端·后端·系统架构·uni-app·php
QQ5110082853 天前
python+springboot+django/flask的校园资料分享系统
spring boot·python·django·flask·node.js·php
WeiXin_DZbishe3 天前
基于django在线音乐数据采集的设计与实现-计算机毕设 附源码 22647
javascript·spring boot·mysql·django·node.js·php·html5
longxiangam3 天前
Composer 私有仓库搭建
php·composer
上海云盾-高防顾问3 天前
DNS异常怎么办?快速排查+解决指南
开发语言·php
ShoreKiten3 天前
关于解决本地部署sqli-labs无法安装低版本php环境问题
开发语言·php
liliangcsdn3 天前
深入探索TD3算法的推理过程
开发语言·php