PHP 函数编程
PHP 函数基础
函数是 PHP 中重要的代码组织单元,它可以将一段代码封装起来,方便重复使用和维护。本章将介绍 PHP 函数的基本概念和使用方法。
函数定义
基本语法
function 函数名(参数列表) {
// 函数体
return 返回值;
}
简单示例
function sayHello($name) {
return "你好,$name!";
}
// 调用函数
echo sayHello("张三"); // 输出:你好,张三!
参数传递
按值传递
function addOne($number) {
$number += 1;
return $number;
}
$x = 5;
echo addOne($x); // 输出:6
echo $x; // 输出:5(原值不变)
按引用传递
function addOneByRef(&$number) {
$number += 1;
}
$x = 5;
addOneByRef($x);
echo $x; // 输出:6(原值改变)
默认参数值
function greet($name = "访客") {
echo "欢迎,$name!";
}
greet(); // 输出:欢迎,访客!
greet("张三"); // 输出:欢迎,张三!
返回值
单一返回值
function multiply($a, $b) {
return $a * $b;
}
$result = multiply(3, 4); // 返回:12
多个返回值
function getCoordinates() {
return [10, 20]; // 使用数组返回多个值
}
[$x, $y] = getCoordinates(); // 数组解构
echo "x: $x, y: $y"; // 输出:x: 10, y: 20
变量作用域
局部变量
function test() {
$local = "我是局部变量";
echo $local;
}
test();
// echo $local; // 错误:无法访问局部变量
全局变量
$global = "我是全局变量";
function useGlobal() {
global $global; // 声明使用全局变量
echo $global;
}
useGlobal(); // 输出:我是全局变量
匿名函数
基本用法
$greet = function($name) {
return "你好,$name!";
};
echo $greet("李四"); // 输出:你好,李四!
闭包
function createCounter() {
$count = 0;
return function() use (&$count) {
return ++$count;
};
}
$counter = createCounter();
echo $counter(); // 输出:1
echo $counter(); // 输出:2
内置函数
字符串函数
$str = "Hello World";
echo strlen($str); // 字符串长度
echo strtoupper($str); // 转大写
echo substr($str, 0, 5); // 截取子串
数学函数
echo abs(-5); // 绝对值
echo round(3.6); // 四舍五入
echo rand(1, 10); // 随机数
实践练习
- 创建一个函数,计算给定数组中所有数字的平均值。
- 实现一个函数,可以接收任意数量的参数并返回它们的和。
- 编写一个函数,检查给定的字符串是否是回文(正读反读都一样)。
- 创建一个闭包函数,实现一个简单的计数器。
通过这些练习,你将加深对 PHP 函数的理解,掌握函数编程的核心概念和技巧。函数是构建可维护代码的基础,在实际开发中有着广泛的应用。