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>
相关推荐
JSON_L4 小时前
Laravel 分页方案整理
数据库·php·laravel
编程到天明18 小时前
CTF-Web题解:“require_once(‘flag.php‘); &assert(“$i == $u“);”
网络安全·php
互联网Fans19 小时前
完全使用TRAE和AI 开发一款完整的应用----第一周
学习笔记
大白玉米1 天前
短视第三套多功能主题3.0二开模板苹果CMS插件重构版
重构·php
终焉暴龙王2 天前
CTFHub web进阶 php Bypass disable_function通关攻略
开发语言·安全·web安全·php
小鼻崽纸2 天前
cacti漏洞CVE-2022-46169的复现
php
stand_forever2 天前
laravel框架优化
php·laravel
Python涛哥2 天前
PHP框架之Laravel框架教程:1. laravel搭建
开发语言·php·laravel
大白玉米3 天前
TVBOXOS6.0双端APP二开源码完整版全开源源码重构版
java·重构·php
布说在见3 天前
踩坑与成长:WordPress、MyBatis-Plus 及前端依赖问题解决记录
服务器·学习·php