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!