目录
- PHP快速上手(六)
- PHP 循环语句
- 1. while 循环
- 2. do...while 循环
- 3. for 循环
- 4. foreach 循环
- 循环控制语句
- PHP 函数
- 1. 函数的定义
- 2. 函数的调用
- 3. 参数传递
- 4. 返回值
- 5. 作用域
- 6. 可变参数函数
- 7. 匿名函数和箭头函数
- 8. 递归函数
PHP快速上手(六)
PHP 循环语句
在 PHP 中,循环结构用于重复执行代码块。常见的循环结构有 while 循环、do…while 循环、for 循环和 foreach 循环。这些循环结构允许你根据不同的条件来重复执行代码块,从而简化代码和减少重复。下面详细介绍每种循环结构的语法和用法:
1. while 循环
while 循环在给定条件为 true 时重复执行代码块。如果条件在循环开始时为 false,循环将不会执行。
语法
while (condition) {
// 循环体:当 condition 为 true 时执行的代码块
}
示例
$i = 0;
while ($i < 5) {
echo "The value of i is: $i\n";
$i++;
}
在这个示例中,while 循环会从 i 等于 0 开始,每次迭代 i 加 1,直到 i 等于 5 时停止循环。
2. do…while 循环
do…while 循环与 while 循环类似,但它确保循环体至少执行一次,因为条件在循环体之后检查。
语法
do {
// 循环体:先执行一次,然后再检查条件
} while (condition);
示例
$i = 0;
do {
echo "The value of i is: $i\n";
$i++;
} while ($i < 5);
在这个示例中,do…while 循环会确保循环体至少执行一次,即使条件最初为 false。
3. for 循环
for 循环通过初始化、条件和增量表达式控制循环的执行。这使得 for 循环在结构上比 while 循环更简洁。
语法
for (initialization; condition; increment) {
// 循环体:当 condition 为 true 时执行的代码块
}
initialization:在循环开始前执行的初始化表达式,通常用于初始化循环变量。
condition:循环执行的条件表达式,如果为 true,循环体将执行。
increment:在每次循环之后执行的增量表达式,通常用于更新循环变量。
示例
for ($i = 0; $i < 5; $i++) {
echo "The value of i is: $i\n";
}
在这个示例中,for 循环从 i 等于 0 开始,每次迭代 i 加 1,直到 i 等于 5 时停止循环。
4. foreach 循环
foreach 循环用于迭代数组或对象中的每个元素。它是最常用的循环之一,因为它特别适合处理数组。
语法
foreach (array as $key => $value) {
// 循环体:遍历数组的每个元素
}
$key:数组中当前元素的键(可选)。
$value:数组中当前元素的值。
示例
$fruits = ["apple", "banana", "cherry"];
foreach ($fruits as $index => $fruit) {
echo "The fruit at index $index is: $fruit\n";
}
在这个示例中,foreach 循环遍历数组 $fruits 中的每个元素,并输出索引和元素值。
循环控制语句
- break:提前终止循环,跳出循环体。
- continue:跳过当前循环体的其余部分,继续下一次迭代。
- goto:跳转到代码中的特定标签,但不建议在代码中使用。
这些是 PHP 中常见的循环结构和控制语句。你可以根据具体需求选择适合的循环结构来实现代码的重复执行和迭代。
PHP 函数
在 PHP 中,函数是一段可以重复使用的代码块。你可以定义和调用函数来组织和简化代码。函数在程序中起到了封装逻辑和避免重复代码的作用。下面详细讲解 PHP 中的函数,包括函数的定义、调用、参数传递、返回值、作用域以及一些特殊类型的函数。
1. 函数的定义
要定义一个函数,你需要使用 function 关键字,然后指定函数名和参数列表。函数的代码块包含在 {} 大括号中。
语法
function functionName($param1, $param2, ...) {
// 函数体:要执行的代码
// 可以使用 $param1, $param2, ... 作为函数的参数
return $result; // 可选:返回值
}
functionName:函数的名称。
$param1, $param2, …:函数的参数列表。
return $result:可选。用于返回函数的结果。
示例
function add($a, $b) {
return $a + $b;
}
$result = add(3, 4); // 调用函数,返回 7
echo $result;
2. 函数的调用
函数可以通过它的名称和参数列表来调用。
语法
functionName($param1, $param2, ...);
示例
$result = add(3, 4); // 调用函数 add,参数为 3 和 4
echo $result; // 输出函数的返回值
3. 参数传递
函数可以接收参数并进行处理。参数可以通过值传递或引用传递的方式传递给函数。
- 值传递
函数接收参数的副本,不会修改原始值。 - 引用传递
在参数前加 & 符号,让函数接收参数的引用,可以修改原始值。
示例:
function incrementByReference(&$num) {
$num++;
}
$number = 5;
incrementByReference($number); // 通过引用传递参数
echo $number; // 输出 6,原始值被修改
4. 返回值
函数可以使用 return 关键字返回一个值。如果不指定返回值,函数将返回 null。
示例
function add($a, $b) {
return $a + $b;
}
$result = add(3, 4);
echo $result; // 输出 7
5. 作用域
函数的变量在函数外部不可访问,这称为“局部作用域”。函数外部的变量在函数内部也不可访问,除非使用 global 关键字或将变量作为参数传递给函数。
示例
$x = 10;
function myFunction() {
$y = 5;
echo $y; // 输出 5
global $x;
echo $x; // 输出 10,使用 global 关键字访问外部变量
}
myFunction();
6. 可变参数函数
PHP 允许定义可变参数函数,使用三个点 … 来表示可变参数。
示例
function sum(...$numbers) {
$total = 0;
foreach ($numbers as $number) {
$total += $number;
}
return $total;
}
$result = sum(1, 2, 3, 4); // 调用可变参数函数
echo $result; // 输出 10
7. 匿名函数和箭头函数
- 匿名函数:使用 function 关键字定义,但没有函数名称。
- 箭头函数:简洁的匿名函数,使用 fn 关键字。
示例
// 匿名函数
$greet = function($name) {
return "Hello, $name!";
};
echo $greet("Alice");
// 箭头函数
$add = fn($a, $b) => $a + $b;
echo $add(3, 4);
8. 递归函数
函数可以在自身内部调用自己,这被称为递归。递归函数需要有终止条件,否则可能导致无限递归。
示例
function factorial($n) {
if ($n === 0) {
return 1;
} else {
return $n * factorial($n - 1);
}
}
echo factorial(5); // 输出 120