Строгие стандарты PHP: по ссылке должны передаваться только переменные // array_pop

Поскольку я нахожусь в PHP 5.6, у меня есть это предупреждение (не в PHP 5.2):

PHP Strict Standards:  Only variables should be passed by reference in blockcategories_top.php on line 157

Вот строка 157:

line 155    if ($cookie->last_visited_category) {
line 156      $c = new Category(intval($cookie->last_visited_category));
line 157      $oldies = array_pop($c->getParentsCategories());
line 158      $oldies = $oldies['id_category'];
line 159      $smarty->assign('oldies', $oldies);
line 160    }

Пожалуйста, как я могу это исправить? :)

Спасибо !


person Shark34    schedule 22.02.2016    source источник


Ответы (1)


Просто замените

$oldies = array_pop($c->getParentsCategories());

с участием

$oldies = $c->getParentsCategories();
$oldies = array_pop($oldies);

Предупреждение появляется, потому что array_pop ожидает, что параметр будет ссылка, а возвращаемые значения функции - нет.

person Matteo Tassinari    schedule 22.02.2016
comment
Ты жжешь ! Большое спасибо ^^ - person Shark34; 22.02.2016