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