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>
相关推荐
black_blank1 小时前
综合组网实验
网络·智能路由器·php
霸王大陆1 小时前
《零基础学PHP:从入门到实战》教程-模块七:MySQL 数据库基础-4
数据库·mysql·php
代码or搬砖1 小时前
常见的五个编译时异常和常见的五个编译时异常
开发语言·php
007php0072 小时前
redis缓存功能结合实际项目面试之问题与解析
网络·redis·nginx·缓存·面试·职场和发展·php
yenggd2 小时前
samba服务配置原理
服务器·开发语言·php
翼龙云_cloud2 小时前
亚马逊云渠道商:如何3 步实现 AWS RDS 读写分离?
运维·服务器·云计算·php·aws
万岳软件开发小城11 小时前
教育APP/小程序开发标准版图:课程、题库、直播、学习一站式梳理
大数据·php·uniapp·在线教育系统源码·教育app开发·教育软件开发
q***99412 小时前
index.php 和 php
开发语言·php
普普通通的一名码农16 小时前
电化学-NanoStat-硬件电路解析(一)
学习笔记·电化学·nanostat
未来之窗软件服务17 小时前
操作系统应用(三十三)php版本选择系统—东方仙盟筑基期
开发语言·php·仙盟创梦ide·东方仙盟·服务器推荐