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>
相关推荐
酷酷-4 小时前
彩虹易支付最新版源码及安装教程(修复BUG+新增加订单投诉功能)
html·php·bug
杨哥带你写代码7 小时前
构建高效新闻推荐系统:Spring Boot的力量
服务器·spring boot·php
A 八方8 小时前
【漏洞复现】泛微OA E-Office do_excel.php 任意文件写入漏洞
开发语言·安全·php
ac-er88888 小时前
PHP__sleep和__wakeup有什么区别
开发语言·php
什么鬼昵称9 小时前
Pikachu-PHP反序列化
开发语言·javascript·php
DK七七16 小时前
【PHP陪玩系统源码】游戏陪玩系统app,陪玩小程序优势
前端·vue.js·游戏·小程序·php·uniapp
‍。。。16 小时前
Ubuntu 系统崩了,如何把数据拷下来
数据库·ubuntu·php
法迪16 小时前
BugReport中的App Processor wakeup字段意义
开发语言·php·功耗
ac-er888820 小时前
PHP函数 func_num_args() 的作用
java·开发语言·php
xiandong201 天前
240925-GAN生成对抗网络
图像处理·人工智能·深度学习·神经网络·生成对抗网络·php·gan