Функция ereg () устарела

Я начал изучать PHP. Итак, установлен сервер WAMP на моей машине windows 7. Я пробую следующий PHP-код:

<?php
$phrase = "I love PHP";
if (ereg("PHP", $phrase)) {
  echo "The expression matches";
}
?>

когда попробовал это в моей mozilla, я получил вывод:

Deprecated: Function ereg() is deprecated in C:wampwwwlearnphpcommon.php on line 3
The expression matches

Я думаю, что код правильный. Я не могу понять ошибку. Может ли кто-нибудь объяснить мне, что здесь означает это "устаревшее"? и как решить эту ошибку?

моя версия php-5.3.0. может ли это быть проблемой версии?

EDIT: я погуглил его и нашел что-то о includefile.inc файл в папке www. У меня нет каталога include в моей папке www.

3 ответов


"устаревший" означает, что PHP 5.3.0 больше не поддерживает эту функцию.

вы должны относиться к ereg () как больше не существует.

функция все еще существует, но только для поддержки существующих приложений, где она использовалась.

при написании нового кода никогда не используйте устаревшую функцию.

рассмотрим функции preg_match

Deprecated означает, что эта функция в конечном итоге будет удалена из PHP в будущей версии. Вы больше не должны полагаться на него в своем коде и вместо этого использовать предложенную альтернативу.

в случае PHP ereg, обратите внимание на уведомление в руководстве PHP:

начиная с PHP 5.3.0 расширение regex устарело в пользу расширения PCRE. Вызов этой функции выдаст уведомление E_DEPRECATED. Вижу список отличий для помощь по преобразованию в PCRE.

Также см. Описание E_DEPRECATED в руководстве по PHP.
Для всех устаревших функций в PHP5.3, см устаревшие функции в PHP 5.3.x.
Для получения более общей информации см. статья Википедии об устаревании программного обеспечения


Это означает, что функция, которую вы используете, теперь устарела. Вы больше не можете использовать эту функцию. Я получил ту же ошибку с PHP 5.5.6. Одним из возможных решений вашей проблемы может быть понижение версии PHP, чтобы она поддерживалась.