Ошибка PHP 7.2 Функция create_function() устарела

После обновления моего VPS до PHP 7.2 на моем сайте появилась эта ошибка:

PHP устарел: функция create_function() устарела в /home/nickname/public_html/framework/web/CHttpRequest.php в строке 968.

и код в этом файле:

usort($languages,create_function('$a,$b','if($a[0]==$b[0]) {return 0;} return ($a[0]<$b[0]) ? 1 : -1;'));

Я не знаю, как это исправить, пожалуйста, помогите мне, спасибо!


person user2406612    schedule 15.01.2020    source источник
comment
Отвечает ли это на ваш вопрос? Функция PHP 7.2 create_function() устарела   -  person Calos    schedule 15.01.2020


Ответы (2)


Должно быть так же просто, как заменить вызов функции анонимной функцией.

usort($languages, function($a, $b) {
    if($a[0] == $b[0]) {
        return 0;
    }
    return $a[0] < $b[0] ? 1 : -1;
});
person Alex Barker    schedule 15.01.2020

Вы можете использовать create_function в качестве функции обратного вызова для более ранних версий php, но теперь функция create_function устарела из php7.2, и вам нужно использовать анонимную функцию, как упоминал @Alex Barker. Вот ссылка, по которой вы можете увидеть устаревшую функцию create_function

person Amit Sharma    schedule 15.01.2020