php 函数按可传递性分为:可传递函数:可以传递给其他函数作为参数(回调函数或闭包函数);不可传递函数:由于使用本地作用域或静态变量,导致无法传递给其他函数。
php 函数按可传递性分类
在 PHP 中,函数可以按是否可以被传递给其他函数作为参数来分类。
可传递函数
立即学习“PHP免费学习笔记(深入)”;
可传递函数是指可以在代码中传递给其他函数的函数。这意味着可以将它们作为回调函数或闭包函数传递。
语法:
1 2 3 |
传递例子:
1 2 3 4 5 |
不可传递函数
不可传递函数是指不能传递给其他函数的函数。这通常是由于函数内部使用本地作用域变量或静态变量。
语法:
1 2 3 |
|
不可传递原因:
当传入函数作为参数时,PHP 无法捕获本地作用域或静态变量,这会导致错误。
实战案例
考虑以下常见的 PHP 函数 array_map():
1 2 3 4 5 6 7 |
|
在第一个例子中,my_callback_function() 是可传递的,因此它可以作为回调函数传递给 array_map()。而在第二个例子中,my_non_callback_function() 是不可传递的,因此它无法传递并导致错误。