Open In App

How to call PHP function from string stored in a Variable

Last Updated : 02 Nov, 2018
Comments
Improve
Suggest changes
Like Article
Like
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
<?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
<?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
<?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!

Next Article

Similar Reads