php 8.6的部分函数应用允许先固定部分参数,再得到一个稍后调用的closure。它适合将已有函数改造成回调,减少仅为转交参数而重复编写的匿名函数;示例应在支持该语法的php 8.6环境中验证。

PHP官方部分函数应用RFC与占位符说明
用问号保留一个参数位置
function add(int $a, int $b): int {
return $a + $b;
}
$addTen = add(10, ?);
echo $addTen(5); // 15
这里先固定第一个参数,第二个位置由后续调用提供。与立即执行add(10, 5)不同,赋给$addTen的是可调用对象。
省略号表示其余参数继续传入
问号表示一个参数位置,省略号表示其余未指定的参数。两者不能随意互换:生成回调后实际接收多少参数,以及是否保留原函数的可选参数,会受到占位方式影响。
注意回调可能额外传入参数
一些数组函数会给回调传入值与键。若目标函数的第二个参数有其他含义,盲目使用可变占位符可能把键传到错误的位置。只需接收一个值时,应明确使用单参数占位方式。
旧运行环境保留兼容写法
仍要在旧PHP版本运行的项目,应继续使用兼容的匿名函数或箭头函数,而不是直接合入新语法。需要检查生产、开发及持续集成的PHP版本,不能只在本机切换版本。
php免费学习视频:立即使用
踏上前端学习之旅,开启通往精通之路!从前端基础到项目实战,循序渐进,一步一个脚印,迈向巅峰!











