我有一个函数需要 9 个参数传递给它。它期望的第一个参数是一个字符串,其余的是整数。
这是功能:
getProductPrice('red', 8, 1.6, 2.15, 0, 0, 0, 17.6, 0);
当它运行时,它工作正常。但是,当我这样运行它时:
getProductPrice("'red'".','.$arguments);
这没用。
"'red'".','.$arguments
输出:'red', 8, 1.6, 2.15, 0, 0, 0, 17.6, 0
如果有人能告诉我如何使用 $arguments 变量代替所有参数?
我最终怀疑是让它不起作用,是 $arguments 输出的是一个字符串,所以我研究了如何将逗号分隔的数字字符串转换为 php 函数的参数。
我遇到了这个:
$params = explode(',', $str);
call_user_func_array("func", $params);
我不知道如何使用这个解决方案有两个原因:
1. 我需要传递一个字符串和数字。
2. 简单地把我的函数名放在那个例子中写着“func”的地方是行不通的,因为它是一个 cakephp 函数,它需要我把 $this->ModelName->functionname 放在里面,这会破坏 call_user_func_array 函数中的第一个参数()
有什么想法可以帮助我吗?
我可以只放置使 $arguments 输出其功能的变量,但是要获得每个数字需要大量复杂的逻辑和数学运算,因此我的函数调用看起来很荒谬。
再次感谢。