PHP分配字符串&数组到单个变量作为参数传递

时间:2017-04-24 19:54:35

标签: php arrays

我循环遍历一系列项目,这些项目必须传递给接受不同数量参数的函数。我目前通过使用多个变量(看起来有些不整洁)来实现这一目标,如下所示:

$param3 = 'value'; 
$param4 = "";
$param5 = "";

if ($condition == true) {
    $param3 = 'value'; 
    $param4 = "value";
    $param5 = array('item0', 'item1');
}

$object->method($param1, $param2, $param3, $param4, $param5);

有没有办法像下面那样做更清洁的事情:

$multiparams = 'value';

if ($condition == true) {
    $multiparams = 'value,', 'value,', array('item0', 'item1');
}

$object->function($param1, $param2, $multiparams);

2 个答案:

答案 0 :(得分:0)

你正在尝试做的事情将会奏效。您可以传递一个参数数组,PHP本身为很多内置函数提供了这些参数。

$params['var1'] = 'Hello';
$params['var2'] = 'World';

function myfunction($params) {

    $var1 = $params['var1'];
    $var2 = $params['var2'];
    echo $var1 . $var2;

    // Prints "HelloWorld"
}

答案 1 :(得分:0)

根据您的示例参数,不确定这是否适合您,但您可能只是根据条件调用该方法。

if ($condition) {
    $object->method($param1, $param2, 'value', 'value', ['item0', 'item1']);
} else {
    $object->method($param1, $param2, 'value');
}