PHP函数是实现代码复用的重要方式,合理定义和使用函数能让代码结构更清晰,维护成本更低。下面我们一步步学习PHP函数的定义、调用和参数传递方法。

一、PHP函数的定义
PHP中使用function关键字来定义函数,基本语法如下:
<?php
// 定义一个无参数的简单函数
function sayHello() {
echo "Hello PHP!";
}
// 定义一个带参数的函数
function add($a, $b) {
$sum = $a + $b;
return $sum; // 返回计算结果
}
?>定义函数时需要注意,函数名不区分大小写,但建议遵循驼峰命名或者下划线命名规范,参数可以设置默认值,例如:
<?php
// 带默认参数的函数
function greet($name = "Guest") {
echo "Hello, " . $name . "!";
}
?>二、PHP函数的调用
函数定义完成后,可以直接通过函数名加括号的方式调用,带参数的函数需要传入对应参数:
<?php
// 调用无参数函数
sayHello(); // 输出:Hello PHP!
// 调用带参数函数
$result = add(3, 5);
echo $result; // 输出:8
// 调用带默认参数的函数
greet(); // 输出:Hello, Guest!
greet("Tom"); // 输出:Hello, Tom!
?>如果函数有返回值,调用时可以将结果赋值给变量,也可以直接使用返回值参与运算。
三、PHP函数的参数传递
PHP函数的参数传递主要有两种方式:值传递和引用传递。
1. 值传递
默认情况下,函数参数采用值传递,也就是把实参的值复制一份传给形参,函数内部修改形参不会影响外部的实参:
<?php
function changeValue($num) {
$num = 10;
echo "函数内部num值:" . $num . "<br/>";
}
$origin = 5;
changeValue($origin);
echo "函数外部origin值:" . $origin; // 输出:5,不受函数内部修改影响
?>2. 引用传递
如果需要在函数内部修改外部实参的值,可以在参数前加&符号,使用引用传递,此时形参和实参指向同一个内存地址:
<?php
function changeValueByRef(&$num) {
$num = 10;
echo "函数内部num值:" . $num . "<br/>";
}
$origin = 5;
changeValueByRef($origin);
echo "函数外部origin值:" . $origin; // 输出:10,被函数内部修改影响
?>四、注意事项
- 函数定义要在调用之前或者之后都可以,PHP会在执行前先扫描函数定义
- 函数参数数量要和定义时匹配,除非设置了默认参数的参数,可以少传
- 引用传递的参数只能传递变量,不能直接传递字面量
掌握PHP函数的定义、调用和参数传递方法,能帮助你写出更灵活高效的PHP代码,在实际开发中可以根据需求选择合适的参数传递方式,提升代码的实用性。