LINUX.ORG.RU

Как переписать deprecated function create_function?

 


1

1

PHP Fatal error: Uncaught Error: Call to undefined function create_function() in

usort ($result, create_function ('$ret,$ret2', '
        return $ret[\'is_folder\']
        ? ($ret2[\'is_folder\'] == 1 ? strcasecmp($ret[\'name\'], $ret2[\'name\']) : -1)
        : ($ret2[\'is_folder\'] == 1 ? 1 : (
            strcasecmp($ret[\'name\'], $ret2[\'name\'])
        ));
    '));


Последнее исправление: sdllll (всего исправлений: 3)

Ответ на: комментарий от sdllll

хз что у тебя за целевая версия php, но что-нить типа такого должно работать на 7.2+

usort($result, function (array $ret, array $ret2) {
  if ($ret['is_folder'] === $ret2['is_folder']) {
    return strcasecmp($ret['name'], $ret2['name']);
  } else {
    return $ret2['is_folder'] <=> $ret['is_folder'];
  }
});
cobold ★★★★★
()