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>
相关推荐
ThatITs7 小时前
【无标题】
php
Java后端的Ai之路7 小时前
【Python 教程14】- 网络编程
网络·python·php
暴走十八步7 小时前
PHP+vscode开启调试debug
开发语言·vscode·php
catchadmin7 小时前
Laravel AI SDK 正式发布
人工智能·php·laravel
四谎真好看7 小时前
JavaWeb学习笔记(Day13)
笔记·学习·学习笔记·javaweb
learning-striving7 小时前
kali连不上网解决方法
linux·开发语言·网络·php·kali
darkb1rd17 小时前
四、PHP文件包含漏洞深度解析
网络·安全·php
毕设源码-邱学长20 小时前
【开题答辩全过程】以 基于PHP的发热病人管理平台的设计与实现为例,包含答辩的问题和答案
开发语言·php
catchadmin1 天前
2026 年 PHP 前后端分离后台管理系统推荐 企业级方案
开发语言·php
小李独爱秋1 天前
计算机网络经典问题透视:蜂窝网络切换如何“扼杀”你的TCP连接?
网络·网络协议·tcp/ip·计算机网络·php·信息与通信