Open In App

How to call PHP function from string stored in a Variable

Improve
Improve
Like Article
Like
Save
Share
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