使用变量来定义PHP函数参数

时间:2013-04-12 03:14:01

标签: php function

这是我的问题,我希望有一个字符串来定义我的函数参数,如下所示:

 function blabla($param1, $param2){
  my cool code . $param1 . $param2;
 }

 $params = 'param1, param2';
 blabla($params);

问题在于,当我这样做时,他使用字符串'param1,param2'作为一个参数而不是TWO,就像我想要2

5 个答案:

答案 0 :(得分:4)

这是一个非常倒退的事情,但你可能会通过将你的字符串扩展为一个值数组,并使用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);

我会再次警告你,不管你的问题是什么,你都可能选择了错误的解决方案。

答案 1 :(得分:1)

你想要怎么做,你做不到。但是,请查看call_user_func_array,因为它可能会解决您尝试执行的操作。演示如下:

function blabla($param1, $param2){
  echo "my cool code $param1 $param2";
}

$params = 'does,work';
call_user_func_array('blabla', explode(',', $params));

答案 2 :(得分:0)

使用explode() php函数

function blabla($param){
  $params = explode(',', $param);
  $param1 = $params[0];
  $param2 = $params[1]; 
 }

 $params = 'param1, param2';
 blabla($params);

答案 3 :(得分:0)

PHP将此解释为一个参数,因为您指定了一个字符串,恰好包含一个逗号;只是要记住未来的事情。

答案 4 :(得分:0)

非常简单的是:

function blabla($param1, $param2){
  my_cool_code . $param1 . $param2;
}

blabla($param1, $param2);

首先,函数名称不能包含'$'。其次,你只有2个参数,你可以通过函数传递两个参数,就像上面一样。

代码现在很好用:)