Строгие стандарты: только переменные должны передаваться по ссылке в functions.php

Я немного смущен ошибкой, которую я получаю.

Ошибка:

Строгие стандарты: только переменные должны передаваться по ссылке в functions.php

Строка в ссылке:

$action = array_pop($a = explode('?', $action)); // strip parameters

person Alicia Sereno    schedule 10.01.2013    source источник


Ответы (3)


Попробуй это:

$a= explode('?',$action);
$action = array_pop($a);

Кстати, что такое $action?

person Manoj Purohit    schedule 10.01.2013

array_pop единственным параметром является массив, передаваемый по ссылке. Возвращаемое значение explode("?", $action) не имеет ссылки.

Сначала вы должны сохранить возвращаемое значение в переменную:

$arr = explode('?',$action);
$action = array_pop($arr);

Следующие вещи могут быть переданы по ссылке:

  • Переменные, например foo($a)
  • Новые операторы, например, foo(new foobar())
  • Ссылки, возвращаемые функциями

Передача по ссылке в руководстве по PHP

person xdstack    schedule 29.04.2013

$action = array_pop($a = взорвать('?', $action)); ///Неправильно

$action = array_pop($a = (взорваться('?', $action))); ///Верно

Убедитесь, что вы взорвали в скобках, например (explode()), вот и все..

person Manu R S    schedule 10.02.2016