PHP基础语法(下)

前言

本篇博客将会带你继续探索PHP语言的基础语法。本篇内容主要聚焦于PHP的流程控制语句和文件包含语句,掌握这些重要的语法结构将使您能够更好地控制程序流程,并且在开发过程中能够高效地组织和管理代码。详细内容请看正文

这是本篇文章的脉络图:


一、流程控制语句

1.1 选择结构语句

概念:选择结构语句指的就需要对一些条件作出判断,从而决定执行指定的代码。

1.1.1 if单分支语句

概念:if条件判断语句也被称为单分支语句,当满足某种条件时,就进行某种处理。

举例:只有年龄大于等于18周岁,才输出已成年,否则无输出。

php 复制代码
<?php
$age=1;
if($age >= 18){
echo'你已经成年!';
}
?>

1.1.2 if...else语句

概念:if...else语句也称为双分支语句,当满足某种条件时,就进行某种处理,否则进行另一种处理。

举例:判断一个学生的年龄,大于等于18岁则是成年人,否则是未成年人。

题目:首先使用rand()函数生成一个1,50之间的数,然后条件判断这个数是不是偶数,如果是偶数,条件表达式为真,则输出"变量 n u m 是偶数",相反,条件表达式为假,输出"变量 num 是偶数",相反,条件表达式为假,输出"变量 num是偶数",相反,条件表达式为假,输出"变量num 是奇数"

注:rand()函数的作用是取得一个随机的整数。

php 复制代码
<?php
$num = rand(1, 50); // 生成1到50之间的随机数
if ($num % 2 == 0) { // 使用取模运算判断是否为偶数
    echo "变量$num 是偶数";
} else {
    echo "变量$num 是奇数";
}
?>

三元运算符:又称为三目运算符,它也可以完成if...else语句的功能。

格式

bash 复制代码
$condition ? $value_if_true : $value_if_false;
  • $condition 是一个需要求值的条件表达式。
  • 如果 $condition 为真,即满足条件,那么 $value_if_true 的值将被返回。
  • 如果 $condition 为假,即不满足条件,那么 $value_if_false 的值将被返回。

例如:

ini 复制代码
$score = 80;
$result = $score >= 60 ? '及格' : '不及格';
echo $result; // 输出:及格

在上述例子中,我使用三元运算符判断变量 $score 是否大于等于 60。如果 $score 大于等于 60,即满足条件,那么返回值为 '及格'。否则,返回值为 '不及格'。最后,将返回值赋给 $result 并输出。

1.1.3 if...elseif...else语句

概念:if...elseif...else语句也称为多分支语句,用于针对不同情况进行不同的处理。

举例 :对一个学生的考试成绩进行等级的划分,若分数在90100分为优秀,分数在80 90分为优秀为良好,分数在7080分为中等,分数在6070分为及格,分数小于60则为不及格。

例如:

php 复制代码
<?php
$cj=rand(1,100);
if($cj>=90){
echo "该同学成绩为$cj 等级:优秀";
}elseif($cj>=80){
echo "该同学成绩为$cj 等级:良好";
}elseif($cj>=70){
echo "该同学成绩为$cj 等级:中等";
}elseif($cj>=60){
echo "该同学成绩为$cj 等级:及格";
}elseif($cj<60){
echo "该同学成绩为$cj 等级:不及格";
}
?>

1.1.4 switch语句

概念:switch语句也是多分支语句,功能与if系列条件语句相同,不同的是它只能针对某个表达式

的值作出判断,从而决定执行哪一段代码。

特点:代码更加清晰简洁、便于阅读。

举例:根据学生成绩$score进行评比(满分为100分)。

工作原理: 首先对一个简单的表达式 n(通常是变量)进行一次计算。将表达式的值与结构中每个

case 的值进行比较。如果存在匹配,则执行与 case 关联的代码。代码执行后,使用 break 来阻

止代码跳入下一个 case 中继续执行。default 语句用于不存在匹配(即没有 case 为真)时执行。

格式

arduino 复制代码
switch (表达式) {
case 值1:代码段1; break;
case 值2:代码段2; break;
... 
default: 代码段n;
}

例如:

php 复制代码
<?php
//switch语句
//随机生成50-100的数
$score=rand(50,100);
switch((int)($score/10)){
case 10: // 90~100为优
case 9: echo '优'; break;
case 8: echo '良'; break;
default: echo '差'; 
}
?>

注意:表达式的值不能为数组或对象。

1.2 循环结构语句

概念:就是可以实现一段代码的重复执行。

举例:计算给定区间内的偶数或奇数的和等。

1.2.1 while循环语句

概念:while循环语句,是根据循环条件来判断是否重复执行这一段代码的。

例如:

php 复制代码
<?php
$i=1;
while($i<=5)
{
echo "The number is " . $i . "<br>";
$i++;
}
?>

上面的实例首先设置变量 i 的值为 1 ($i=1;)。 然后,只要 i 小于或者等于 5,while 循环将继续运行。循环每运行一次,i 就会递增 1。

1.2.2 do...while循环语句

概念:do...while循环语句的功能与while循环语句类似

唯一的区别在于,while是先判断条件后执行循环体,而do...while会无条件执行一次循环体后再判断条件。

格式

arduino 复制代码
do {
循环体
......
} while (循环条件);

例如(计算1+到100的值):

php 复制代码
<?php
$i=1;
$sum=0;
do{
$sum+=$i; //$sum=$sum+$i
$i++; //$i=2
}while($i <= 100);//只要 i 小于或者等于 100,while 循环将继续运行
echo '1+2+3+4+...+99+100= '. $sum;
?>

1.2.3 for循环语句

概念:for循环语句是最常用的循环语句,它适合循环次数已知的情况。

格式

ini 复制代码
for (初始值; 条件; 增量)
{
要执行的代码;
}

for关键字后面小括号"()"中包括了三部分内容:

① 初始化表达式

② 循环条件

③ 操作表达式

它们之间用";"分隔,{}中的执行语句为循环体。

题目:使用循环语句:

计算100之内的奇数之和,

计算100之内的偶数之和,

计算1~100的和.

求0--100之间的奇数之和:

ini 复制代码
$sum=0;
for($i=0;$i<=100;$i++) {
if($i%2==1){
$sum+=$i;
} }
echo $sum;
?>

求0--100之间的偶数之和:

bash 复制代码
$sum=0;
for($i=0;$i<=100;$i+=2) {
$sum+=$i;
}
echo $sum;

计算1~100的和:

bash 复制代码
$sum=0;
for($i=1;$i<=100;$i++){
$sum+=$i;//$sum=$sum+$i;
}
echo $sum;

1.3 跳转语句

概念:跳转语句用于实现程序执行过程中的流程跳转。

1.3.1 break语句

break语句可应用在switch和循环语句中,其作用是终止当前语句的执行,跳出switch选择结构或循环语句,执行后面的代码。

1.3.2 continue语句

continue语句与break语句的区别在于,前者用于结束本次循环的执行,开始下一轮循环的执行操作;后者用于终止当前循环,跳出循环体。

1.4 流程替代语法

流程替代语法是一种用于在HTML中嵌入PHP代码的技术,它提供了一种更清晰和易于维护的方式来混合编写大量的HTML和PHP代码。

在传统的PHP语法中,我们使用尖括号标记 <?php ... ?> 来包裹PHP代码。但是在流程替代语法中,我们使用冒号 : 和关键字 endxxx(例如 endfor 等)来表达开始和结束流程语句的位置。

下面是一个使用流程替代语法的例子:

php 复制代码
<div>
    <?php for ($i = 0; $i < 5; $i++): ?>
        <p><?php echo $i; ?></p>
    <?php endfor; ?>
</div>

在这个例子中,我使用 for 循环语句来打印数字 0 到 4。我使用了 : 来标记循环的开始位置,并使用 endfor 标记循环的结束位置。嵌套在循环内的 <p> 标签会输出每个数字。

除了 for,PHP还提供了其他流程语句的替代语法,如 ifwhile 等,它们的使用方式类似。流程替代语法使得代码更加清晰,PHP代码和HTML代码更容易区分,并能够减少尖括号的使用。

需要注意的是,流程替代语法只适用于在HTML中嵌入PHP代码,如果单独编写PHP文件,则不需要使用流程替代语法。

二、文件包含语句

作用:在程序开发中,会涉及到多个PHP文件。为此,PHP提供了包含语句,可以从另一个文件中将代码包含进来。

好处:不仅可以提高代码的重用性,还可以提高代码的维护和更新的效率。

PHP提供了两个主要的文件包含语句:includerequire

2.1 include

includeinclude语句用于在当前PHP文件中包含另一个文件的内容。如果被包含的文件不存在或出现错误,include语句会发出一个警告,并继续执行脚本。

格式( 以include语句为例,其它包含语句语法类似

php 复制代码
include '文件路径';

例如:

php 复制代码
<?php
include 'header.php';
// 运行其他代码
include 'footer.php';
?>

在上述例子中,我在当前PHP文件中包含了 header.phpfooter.php 文件的内容。

注意:

1."文件路径"指的是被包含文件所在的绝对路径或相对路径。

2.所谓绝对路径就是从盘符开始的路径,如"C:/web/test.php"。

3.所谓相对路径就是从当前路径开始的路径,假设被包含文件test.php与当前文件所在路径都是"C:/web",则其相对路径就是"./test.php"。

4.在相对路径中,"./"表示当前目录,"../"表示当前目录的上级目录。

2.2 require

requirerequire语句与include语句的功能类似,用于将另一个文件的内容包含到当前PHP文件中。主要的区别是,如果被包含的文件不存在或出现错误,require语句会产生一个致命错误,并停止脚本的执行。

例如:

php 复制代码
<?php
require 'config.php';
// 运行其他代码
require 'functions.php';
?>

在上述例子中,我使用 require 包含了 config.phpfunctions.php 文件的内容。

此外,PHP还提供了相应的用于条件包含的语句,即 include_oncerequire_once。这些语句会在包含文件之前检查是否已经包含过该文件,如果已经包含,则不会再次包含。


总结

本篇博客介绍了PHP的流程控制语句和文件包含语句。流程控制语句如条件判断、循环和跳转语句,使我们能够根据不同的情况执行不同的代码逻辑,实现灵活的程序控制。通过深入学习这些语句的使用方法和应用场景,我们能够编写出更加强大、高效的程序。

另外,文件包含语句在PHP开发中起着重要的作用。通过使用include和require语句,我们可以将代码块单独存放在一个文件中,方便代码的复用和管理。这种模块化的开发方式能够提高代码的可维护性和扩展性,同时也使代码更加清晰易懂。

感谢您阅读本篇博客,希望这些内容对您有所帮助。如果您对这些内容有任何问题或者想进一步探讨,欢迎在评论区留言。祝您编程愉快!

相关推荐
酷酷的逗逗乐3 小时前
前端转 Agent 开发 · 第五节:Memory 会话记忆
前端·程序员
2601_962077534 小时前
程序员会消失吗?
ai·程序员·职业发展·未来趋势·技术变革
摆烂工程师4 小时前
别只拿 GPT-6 Astra 聊天,它真正恐怖的是开始会“干活”了
人工智能·程序员·vibecoding
合天网安实验室5 小时前
Log4J2 FilteredObjectInputStream RCE 漏洞分析
前端·黑客
程序员cxuan5 小时前
GPT images 2.5 一手实测,这也太颠了。。。
后端·程序员
ardss7 小时前
AI挖洞太快,Chrome修不过来了——双周发版背后,你的CI得跟着改
黑客
Hilaku9 小时前
为什么技术极强的前端,往往当不好前端 Team Leader?
前端·javascript·程序员
她的男孩11 小时前
AI 写完 100 万行代码没人 Review,我做了一件事:把 AI 写的代码管起来了
java·人工智能·程序员
李剑一11 小时前
大环境或许真的恶劣了起来,打工人你焦虑吗?
面试·程序员·招聘
SimonKing11 小时前
一文终结 Java 路径加载争议:斜杠 什么时候该加,什么时候不该加
java·后端·程序员