PHP, я не могу передать массив в качестве ссылки - PullRequest
1 голос
/ 11 ноября 2011

это функция:

public function func(&$parameters = array())
{
}

Теперь мне нужно сделать это:

$x->func (get_defined_vars());

, но это не удается.Другой способ:

$x->func (&get_defined_vars());

выдает ошибку: не может использовать возвращаемое значение функции в контексте записи в ...

Тогда как это сделать?

Ответы [ 3 ]

6 голосов
/ 11 ноября 2011

get_defined_vars() возвращает массив, а не переменную. Поскольку вы можете передавать переменные только по ссылке, вам нужно написать:

$definedVars = get_defined_vars();
func($definedVars);

Хотя я не вижу смысла передавать массив по ссылке здесь. (Если вы делаете это для производительности, не делайте этого, так как это не поможет.)

3 голосов
/ 11 ноября 2011
public  function func(&$parameters = array())
{
}

Не определено правильно.

1 голос
/ 11 ноября 2011

Попробуйте так: -

call_user_func_array( 'func', $parameters );

Для получения дополнительной информации см. Примечания к документации по call_user_func_array() .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...