Как преобразовать массив в параметры метода? - PullRequest
4 голосов
/ 03 июля 2011

Мне нужно передать params (например: 'param1', 'param2', 'param3') в метод ... но у меня есть массив параметров (например: array('param1', 'param2', 'param3')). Как преобразовать массив в params?

function foo(array $params) {

    bar(
        // Here should be inserted params not array.
    );

}

Ответы [ 2 ]

6 голосов
/ 03 июля 2011

Используйте функцию call_user_func_array .

Например:

call_user_func_array('bar', $params);
2 голосов
/ 03 июля 2011

Если вы знаете имена параметров, то можете указать следующее

$params = array(
    'param1' => 'value 1',
    'param2' => 'value 2',
    'param3' => 'value 3',
);

function foo(array $someParams) {
    extract($someParams);  // this will create variables based on the keys

    bar($param1,$param2,$param3);
}

Не уверен, что это именно то, что вы имели в виду.

...