Open In App
Related Articles

How to call PHP function from string stored in a Variable

Improve
Improve
Improve
Like Article
Like
Save Article
Save
Report issue
Report
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 GeeksforGeeks!";
}
  
// Declare variable and store
// function name    
$functionName = "writeMessage();";
  
// Function call using eval
eval($functionName);
?>

                    
Output:
Welcome to GeeksforGeeks!


Last Updated : 02 Nov, 2018
Like Article
Save Article
Previous
Next
Share your thoughts in the comments
Similar Reads