我想定义一个函数,但有两个不同的名称。我可以做到这一点:
function my1($a, $b) { ...... }
function my2($a, $b) { my1($a,$b); }
但我感兴趣的是,如果有更短的方式,例如:
function my1 & my2 ($a, $b) { ...... }
答案 0 :(得分:5)
尝试匿名功能。它允许您调用相同的功能,但名称不同。像这样
<?php
$function_1 = $function_2 = function($a,$b){ //The anonymous function is assigned names $function_1 & $function_2.
echo $a.' - '.$b;
};
$function_1('a','b');
$function_2('1','2');
?>
阅读完整的参考资料here
答案 1 :(得分:0)
您可以创建递归函数,而不是创建两个相同的函数。例如:
{{1}}
答案 2 :(得分:-1)
是的!为此你需要使用匿名函数。 一个变量保存您的函数,另一个变量引用相同的变量。
<?php
// Define function
$say_hello_1 = function ()
{
echo "Hello";
};
// Refer to same function with different name
$say_hello_2 = $say_hello_1;
// Call to both of them
$say_hello_2();
$say_hello_1();
两个调用代表相同的函数并打印Hello两次。