我试图使用数组从php中的函数调用多个参数。
ENTRYPOINT java -Djava.security.egd=file:/dev/./urandom -jar $APPLICATION_NAME
我创建了函数text(),如下所示:
Class useful {
function callFunctionFromClass($className, $function, $args = array()) {
return $className::$function($args);
}
}
<?php
require("library/class.php");
$u = new useful;
$u::callFunctionFromClass(new useful, "text", "Test", "Test");
?>
我收到此错误消息:
function text($msg, $msg2) {
echo $msg;
echo $msg2;
}
没有$ msg2&amp;第二个论点。那么如何取消多个论点呢?
答案 0 :(得分:3)
您必须使用call_user_func_array。您也将callFunctionFromClass
称为静态方法,但它不是静态的
Class useful
{
public function callFunctionFromClass($className, $function, $args = array())
{
return call_user_func_array(array($className, $function), $args);
}
public function text($msg, $msg2)
{
echo $msg;
echo $msg2;
}
}
$u = new useful;
$test = $u->callFunctionFromClass('useful', "text", array("Test", "Test"));