【问题标题】:Call a dynamic function in php [duplicate]在php中调用动态函数[重复]
【发布时间】:2018-04-22 09:31:22
【问题描述】:

有没有办法在 php.ini 中调用动态函数。举个例子,让我们猜猜我有一个像下面这样的变量。

$myVar = 'my_test_function';

我有一个名为 myTestFunction() 的函数。有没有办法使用 $myVar 变量的值调用上述函数?如何将该变量构造为 myTestFunction 并使用该变量调用上述函数

【问题讨论】:

标签: php regex


【解决方案1】:

只需执行以下操作:

lcfirst(str_replace('_', '', ucwords($myVar, '_')))();

【讨论】:

  • 但是名称不同。我应该删除下划线并将下一个字母大写。我该怎么做?
  • 我已将代码编辑为单行。
【解决方案2】:

先将你的字符串转换为函数名:

$myVar = 'my_test_function';
echo $myVar = str_replace('_', '', ucwords($myVar, '_')); //output myTestFunction
$myVar();

【讨论】:

  • 由于函数名不区分大小写,您只需替换下划线即可。
  • @Yoshi 是的,你是对的,但是拥有严格的代码技术以供将来使用是一种很好的做法。
  • 是的,但我在这里看不到相关性。它只是增加了处理方面的开销,如果从不使用存储的名称(例如日志记录),它就没有真正的用途。
猜你喜欢
  • 2020-12-04
  • 1970-01-01
  • 1970-01-01
  • 2012-07-17
  • 2012-12-30
  • 1970-01-01
  • 1970-01-01
  • 2017-09-21
  • 1970-01-01
相关资源
最近更新 更多