PHP函数定义
外观
PHP函数定义[编辑 | 编辑源代码]
在PHP中,函数是一段可重复使用的代码块,用于执行特定任务。函数可以接受输入(称为参数),并返回输出(称为返回值)。使用函数可以提高代码的可读性、可维护性和复用性。
基本语法[编辑 | 编辑源代码]
PHP函数的定义使用function
关键字,基本语法如下:
function functionName($parameter1, $parameter2, ...) {
// 函数体
return $result; // 可选
}
其中:
functionName
是函数的名称$parameter1, $parameter2
是函数的参数(可选)return
语句用于返回结果(可选)
简单示例[编辑 | 编辑源代码]
function greet($name) {
return "Hello, " . $name . "!";
}
echo greet("Alice"); // 输出: Hello, Alice!
函数参数[编辑 | 编辑源代码]
PHP函数支持多种参数传递方式:
按值传递[编辑 | 编辑源代码]
默认情况下,参数是按值传递的:
function add($a, $b) {
return $a + $b;
}
echo add(3, 5); // 输出: 8
引用传递[编辑 | 编辑源代码]
在参数前加&
表示引用传递:
function increment(&$value) {
$value++;
}
$num = 5;
increment($num);
echo $num; // 输出: 6
默认参数[编辑 | 编辑源代码]
可以为参数指定默认值:
function sayHello($name = "Guest") {
return "Hello, " . $name;
}
echo sayHello(); // 输出: Hello, Guest
echo sayHello("Bob"); // 输出: Hello, Bob
可变长度参数[编辑 | 编辑源代码]
使用...
运算符表示可变参数:
function sum(...$numbers) {
$total = 0;
foreach ($numbers as $n) {
$total += $n;
}
return $total;
}
echo sum(1, 2, 3, 4); // 输出: 10
返回值[编辑 | 编辑源代码]
函数可以使用return
语句返回一个值。如果没有return
语句,函数返回NULL
。
返回多个值[编辑 | 编辑源代码]
可以通过数组返回多个值:
function getUserInfo() {
return ["Alice", 25, "alice@example.com"];
}
list($name, $age, $email) = getUserInfo();
echo $name; // 输出: Alice
变量作用域[编辑 | 编辑源代码]
PHP函数内部默认不能访问外部变量:
$globalVar = 10;
function testScope() {
// echo $globalVar; // 会产生警告
$localVar = 5;
return $localVar;
}
echo testScope(); // 输出: 5
// echo $localVar; // 会产生警告
要访问全局变量,使用global
关键字:
$globalVar = 10;
function testGlobal() {
global $globalVar;
echo $globalVar; // 输出: 10
}
testGlobal();
匿名函数[编辑 | 编辑源代码]
PHP支持匿名函数(闭包):
$greet = function($name) {
return "Hello, " . $name;
};
echo $greet("Charlie"); // 输出: Hello, Charlie
类型声明[编辑 | 编辑源代码]
PHP7+支持参数和返回值的类型声明:
function addNumbers(float $a, float $b): float {
return $a + $b;
}
echo addNumbers(1.2, 3.4); // 输出: 4.6
实际应用案例[编辑 | 编辑源代码]
用户验证函数[编辑 | 编辑源代码]
function validateUser($username, $password) {
// 模拟数据库检查
$validUsers = [
"admin" => "secret123",
"user1" => "password1"
];
if (!isset($validUsers[$username])) {
return false;
}
return $validUsers[$username] === $password;
}
if (validateUser("admin", "secret123")) {
echo "登录成功";
} else {
echo "用户名或密码错误";
}
计算几何图形面积[编辑 | 编辑源代码]
function calculateArea($shape, ...$dimensions) {
switch ($shape) {
case "circle":
return pi() * pow($dimensions[0], 2);
case "rectangle":
return $dimensions[0] * $dimensions[1];
case "triangle":
return 0.5 * $dimensions[0] * $dimensions[1];
default:
return 0;
}
}
echo calculateArea("circle", 5); // 输出圆的面积
echo calculateArea("rectangle", 4, 6); // 输出矩形面积
函数调用流程[编辑 | 编辑源代码]
最佳实践[编辑 | 编辑源代码]
1. 函数名应清晰描述其功能 2. 保持函数简短,单一职责 3. 使用有意义的参数名 4. 合理使用类型声明 5. 为复杂函数添加注释
数学函数示例[编辑 | 编辑源代码]
计算二次方程的解:
function solveQuadratic($a, $b, $c) {
$discriminant = pow($b, 2) - 4 * $a * $c;
if ($discriminant < 0) {
return "无实数解";
} elseif ($discriminant == 0) {
$x = -$b / (2 * $a);
return ["x" => $x];
} else {
$x1 = (-$b + sqrt($discriminant)) / (2 * $a);
$x2 = (-$b - sqrt($discriminant)) / (2 * $a);
return ["x1" => $x1, "x2" => $x2];
}
}
print_r(solveQuadratic(1, -3, 2)); // 输出两个解
总结[编辑 | 编辑源代码]
PHP函数是构建模块化、可重用代码的基础。通过合理使用函数参数、返回值和作用域规则,可以创建清晰、高效的代码结构。从简单的工具函数到复杂的业务逻辑,函数都是PHP编程中不可或缺的部分。