PHP 函数按是否可以被传递如何分类?
admin 阅读:71 2024-09-04
php 函数按可传递性分为:可传递函数:可以传递给其他函数作为参数(回调函数或闭包函数);不可传递函数:由于使用本地作用域或静态变量,导致无法传递给其他函数。
PHP 函数按可传递性分类
在 PHP 中,函数可以按是否可以被传递给其他函数作为参数来分类。
可传递函数
立即学习“PHP免费学习笔记(深入)”;
可传递函数是指可以在代码中传递给其他函数的函数。这意味着可以将它们作为回调函数或闭包函数传递。
语法:
function my_callback_function() { // 函数体 }
传递例子:
function call_my_callback($callback) { $callback(); } call_my_callback('my_callback_function');
不可传递函数
不可传递函数是指不能传递给其他函数的函数。这通常是由于函数内部使用本地作用域变量或静态变量。
语法:
static function my_non_callback_function() { // 函数体 }
不可传递原因:
当传入函数作为参数时,PHP 无法捕获本地作用域或静态变量,这会导致错误。
实战案例
考虑以下常见的 PHP 函数 array_map():
$array = [1, 2, 3, 4]; // 使用可传递函数 $new_array = array_map('my_callback_function', $array); // 使用不可传递函数 $new_array = array_map('my_non_callback_function', $array); // 会导致错误
在第一个例子中,my_callback_function() 是可传递的,因此它可以作为回调函数传递给 array_map()。而在第二个例子中,my_non_callback_function() 是不可传递的,因此它无法传递并导致错误。
声明
1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。