这是我的问题,我想要一个字符串来定义我的函数参数,如下所示:
function blabla($param1, $param2){
my cool code . $param1 . $param2;
}
$params = 'param1, param2';
blabla($params);
问题是当我这样做时,他使用字符串'param1,param2'作为一个参数,而不是像我想要的那样两个
这是一件非常落后的事情,但您可能会通过将字符串分解为值数组并使用call_user_func_array
将这些值作为参数传递给函数来做到这一点。
function blah($x, $y) {
echo "x: $x, y: $x";
}
$xy = "4, 5";
$params = explode(", ", $xy);
# Just like calling blah("4", "5");
call_user_func_array('blah', $params);
我会再次警告您,但是您可能选择了错误的解决方案来解决您的问题。
你想怎么做,你做不到。但是,请注意call_user_func_array
它可能会解决您正在尝试做的事情。演示如下:
function blabla($param1, $param2){
echo "my cool code $param1 $param2";
}
$params = 'does,work';
call_user_func_array('blabla', explode(',', $params));
使用explode()
php函数
function blabla($param){
$params = explode(',', $param);
$param1 = $params[0];
$param2 = $params[1];
}
$params = 'param1, param2';
blabla($params);
PHP 将其解释为一个参数,因为您指定了一个字符串,该字符串恰好包含一个逗号;只是为了将来要记住的事情。
非常简单的事情是:
function blabla($param1, $param2){
my_cool_code . $param1 . $param2;
}
blabla($param1, $param2);
首先,函数名不能有“$”。其次,你只有 2 个参数,你可以通过函数传递这两个参数,就像上面一样。
该代码现在很好用:)