PHP 7.2 ошибка Функция create_function () устарела - PullRequest
2 голосов
/ 15 января 2020

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

PHP Устаревшая: функция create_function () устарела в / home / псевдоним / 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;'));

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

Ответы [ 2 ]

4 голосов
/ 15 января 2020

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

usort($languages, function($a, $b) {
    if($a[0] == $b[0]) {
        return 0;
    }
    return $a[0] < $b[0] ? 1 : -1;
});
0 голосов
/ 15 января 2020

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

...