PHP自定义函数是用function关键字封装的可复用代码块,需定义函数名、参数列表和函数体,通过函数名加括号调用,支持默认参数、类型声明及return返回值。

PHP 自定义函数就是用 function 关键字封装一段可重复使用的代码,定义后通过函数名加括号来执行。它不依赖外部库,是 PHP 最基础、最常用的代码组织方式。
怎么定义一个自定义函数
定义函数必须包含 function 关键字、合法的函数名、可选参数列表和花括号包裹的函数体:
- 函数名以字母或下划线开头,不能以数字开头,区分大小写(建议统一小写+下划线或驼峰)
- 参数写在圆括号内,多个参数用逗号分隔;无参数也要保留空括号
() - 函数体放在
{}中,里面写实际要执行的逻辑 - 用
return返回值(可选),没有 return 时函数默认返回null
示例:
function say_hello() {echo "Hello, PHP!";
}
怎么调用已定义的函数
调用只需写出函数名并加上括号,有参数就填进去,没参数就留空括号:
立即学习“PHP免费学习笔记(深入)”;
- 直接调用:如
say_hello();,会立即输出内容 - 带参数调用:如
greet("小明");,其中 "小明" 是实参,传给形参$name - 接收返回值:如
$sum = add(2, 3);,把add()的计算结果存进变量 - 函数必须已定义才能调用,否则报
Fatal error: Uncaught Error: Call to undefined function
注意:PHP 函数具有全局作用域,定义位置不影响调用——只要在执行到调用语句前已被解析即可(但避免条件定义后提前调用)。
带参数和返回值的典型写法
多数实用函数既接收输入,也返回处理结果。合理使用参数默认值和类型声明能提升健壮性:
- 参数可设默认值:
function greet($name = "访客") { echo "你好,$name!"; } - 支持类型声明(PHP 7+):
function add(int $a, int $b): int { return $a + $b; } - return 后函数立刻退出,后续语句不执行
示例调用:greet(); 输出“你好,访客!”,greet("李四"); 输出“你好,李四!”
常见错误与规避要点
新手常踩的坑往往不是语法写错,而是逻辑或习惯问题:
- 函数名重复:同一作用域中不能有两个同名函数,命名尽量具体,如
format_phone_number()比format()更安全 - 参数数量不匹配:调用时传入参数个数与定义不符会警告或报错(启用严格模式更明显)
- 忘记定义就调用:确保函数代码在调用语句之前已加载(文件包含顺序、条件定义需特别注意)
- 副作用干扰:避免在函数里直接 echo/print 或修改全局变量,优先靠 return 传递结果



















