How to call PHP function from string stored in a Variable

Given the names of some user-defined functions stored as strings in variables. The task is to call the functions using the names stored in the variables.
Example:
<?php   // Function without argument function func() {     echo "geek"; }   // Function with argument function fun($msg) {     echo $msg; }   // Call func and fun using $var and $var1 $var = "func"; $var1 = "fun";     ?> |
There are two methods for doing this. One is directly calling function by variable name using bracket and parameters and the other is by using call_user_func() Function but in both method variable name is to be used.
Program:
<?php   // Function without argument function func() {     echo "hello "; }   // Function with argument function fun($msg) {     echo $msg." "; }       $var = "func"; $var1 = "fun";       // 1st method by using variable name $var(); $var1("geek");   echo "\n";   // 2nd method by using php inbuilt // function call_user_func() call_user_func($var); call_user_func($var1, "fun_function");   ?> |
Output:
hello geek hello fun_function
Another Method: Using eval() Function: The eval() function is an inbuilt function in PHP which is used to evaluate string as PHP code.
Note: This method is contributed by Vineet Joshi.
Syntax:
eval( $code )
Parameters: This function accepts single parameter code which is used to hold the PHP code as a string.
Example:
<?php   // Function without argument function writeMessage() {     echo "Welcome to zambiatek!"; }   // Declare variable and store // function name    $functionName = "writeMessage();";   // Function call using eval eval($functionName); ?> |
Output:
Welcome to zambiatek!



