📅  最后修改于: 2023-12-03 15:23:48.204000             🧑  作者: Mango
在PHP中,我们可以使用存储在变量中的函数名来动态调用函数。这对于我们需要在运行时确定要调用的函数时非常有用。在本文中,我们将讨论如何从存储在变量中的字符串调用PHP函数。
PHP中一个非常简单的方法是,直接使用存储在变量中的函数名字符串来调用函数。下面是一个示例代码片段:
<?php
// 存储函数名的变量
$function_name = 'strtoupper';
// 直接使用变量调用函数
$result = $function_name('hello world');
echo $result; // 输出 "HELLO WORLD"
?>
如上所示,我们首先将函数名 strtoupper
存储在 $function_name
变量中。然后,我们可以使用 $function_name
变量直接调用该函数,如 $function_name('hello world')
所示。
PHP还有一种更简单的方法来调用存储在变量中的函数名,即使用可变函数调用语法。下面是一个示例代码片段:
<?php
// 存储函数名的变量
$function_name = 'strtoupper';
// 使用可变函数调用语法调用函数
$result = call_user_func($function_name, 'hello world');
echo $result; // 输出 "HELLO WORLD"
?>
如上所示,我们可以使用 call_user_func
函数来调用存储在 $function_name
变量中的函数名。call_user_func
函数接收函数名和一组参数,并返回该函数的结果。
以上两个方法都适用于调用单独的函数。如果您需要调用存储在对象中的方法,则可以使用以下代码片段:
<?php
class MyClass {
public function myMethod($value) {
return strtoupper($value);
}
}
// 创建对象
$obj = new MyClass();
// 存储方法名的变量
$method_name = 'myMethod';
// 使用存储在变量中的方法名调用方法
$result = $obj->$method_name('hello world');
echo $result; // 输出 "HELLO WORLD"
?>
如上所示,我们创建了一个称为 MyClass
的类,并定义了一个称为 myMethod
的方法,该方法将字符串转换为大写。然后,我们创建了一个新的 MyClass
对象,并将 $method_name
变量设置为 myMethod
。最后,我们可以使用 $obj->$method_name
语法直接调用该方法。
在本文中,我们讨论了如何从存储在变量中的字符串调用PHP函数。我们介绍了两种常见的方法,一种是直接使用函数名字符串,另一种是使用 call_user_func
函数。我们还讨论了如何使用变量调用存储在对象中的方法。通过这些工具,我们可以动态地调用PHP中的函数和方法。