PHP 函数基础
函数是 PHP 中重要的代码组织单元,它可以将一段代码封装起来,方便重复使用和维护。本章将介绍 PHP 函数的基本概念和使用方法。
函数定义
基本语法
function 函数名(参数列表) { // 函数体 return 返回值;}
简单示例
function sayHello($name) { return "你好,$name!";}
// 调用函数echo sayHello("张三"); // 输出:你好,张三!
参数传递
按值传递
function addOne($number) { $number += 1; return $number;}
$x = 5;echo addOne($x); // 输出:6echo $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(); // 输出:1echo $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 函数的理解,掌握函数编程的核心概念和技巧。函数是构建可维护代码的基础,在实际开发中有着广泛的应用。