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"); ?> |
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 neveropen!"; } // Declare variable and store // function name $functionName = "writeMessage();"; // Function call using eval eval($functionName); ?> |
Welcome to neveropen!
