Excuse me, does PHP support custom functions when declaring, the function name takes the form of a variable, how is it used?
I tried it.
function $a {}
$a = ' test ';
Test ();
?>
Prompt error.
Reply to discussion (solution)
You can't do that.
I can do this.
function Test () {} $a = ' test '; $a ();
You can't do that.
I can do this.
function Test () {} $a = ' test '; $a ();
The problem is I don't want this effect ...
The situation I encountered was that the function name might not be the same, but the contents of the function were the same, but for special reasons
When a function is declared, the function name is unknown and can only be determined until the actual call is made.
You can do this by class (__call)
1. Using eval
$a = ' test '; eval ("function $a () {echo ' function name is: '. __function__;}"); Test ();
2. Using the Magic method of class __call
Class foo{public function __call ($name, $param) { if ($name = = ' Test ') { echo ' Test '; } else{ Echo ' name not exists ';}} } $obj = new Foo (), $a = ' test ', $obj-$a ();