个性化阅读
专注于IT技术分析

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" ;     
?>

有两种方法可以执行此操作。一种是使用括号和参数通过变量名直接调用函数, 另一种是使用call_user_func()函数但是在这两种方法中都将使用变量名。

程序:

<?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

另一种方法:

使用eval()函数:

eval()函数是PHP中的内置函数, 用于将字符串评估为PHP代码。

注意:

该方法是由

Vineet Joshi

.

语法如下:

eval( $code )

参数:此函数接受单个参数代码, 该参数代码用于将PHP代码保存为字符串。

例子:

<?php
  
// Function without argument 
function writeMessage() {
     echo "Welcome to srcmini!" ;
}
  
// Declare variable and store
// function name    
$functionName = "writeMessage();" ;
  
// Function call using eval
eval ( $functionName );
?>

输出如下:

Welcome to srcmini!

赞(0)
未经允许不得转载:srcmini » PHP如何从存储在变量中的字符串调用函数?

评论 抢沙发

评论前必须登录!