2016-01-27 4 views
-1

Я получил Thie Варниг: PHP Строгие стандарты: только переменные должны быть переданы по ссылкеPHP Строгие стандарты: только переменные должны быть переданы по ссылке

и код:

if ((isset($_SERVER['HTTP_IF_MODIFIED_SINCE']) && 
array_shift(explode(';', $_SERVER['HTTP_IF_MODIFIED_SINCE'])) == $gmt_mtime) 

вторая строка кода является ошибкой.

+0

Получите значение 'explode (';', $ _SERVER ['HTTP_IF_MODIFIED_SINCE'])' внутри переменной и передайте ее в свой 'array_shift' –

ответ

0

Прежде всего, вам нужно взорвать $_SERVER['HTTP_IF_MODIFIED_SINCE'] с «;» и чем вы можете использовать его в функции array_shift.

<? 
$exploded = explode(";",$_SERVER['HTTP_IF_MODIFIED_SINCE']); 
if ((isset($_SERVER['HTTP_IF_MODIFIED_SINCE']) && array_shift($exploded) == $gmt_mtime)) 
?> 

Side Примечание: я не знаю его ошибка опечатка или нет, ну и нужно добавить одну конечную «)», если условие, а иначе вы получите Parse Error.

0

Я думаю, вам придется отделить array_shift и explode - что-то вроде этого.

$arr_gmt_mtime=explode(';', $_SERVER['HTTP_IF_MODIFIED_SINCE']); 
    if ((isset($_SERVER['HTTP_IF_MODIFIED_SINCE']) && array_shift($arr_gmt_mtime) == $gmt_mtime) 
0

Получить значение explode(';', $_SERVER['HTTP_IF_MODIFIED_SINCE']) в переменной и передать его в ваш array_shift вроде как

$arr = explode(';', $_SERVER['HTTP_IF_MODIFIED_SINCE']); 
if ((isset($_SERVER['HTTP_IF_MODIFIED_SINCE']) && array_shift($arr) == $gmt_mtime)