Я начал изучать PHP. Так установлен WAMP-сервер на моем компьютере с Windows 7. Я пытаюсь использовать следующий код PHP:
<?php $phrase = "I love PHP"; if (ereg("PHP", $phrase)) { echo "The expression matches"; } ?>
Когда я попробовал это в своей мозилле, я получил результат:
Deprecated: Function ereg() is deprecated in C:\wamp\www\learnphp\common.php on line 3 The expression matches
Я думаю, что код правильный. Я не могу понять ошибку. Может ли кто-нибудь объяснить мне, что здесь означает «Устаревший»? и как решить эту ошибку?
Моя версия php – 5.3.0. может это проблема версии?
EDIT: я googled и нашел что-то о include \ file.inc файл в папке www. У меня нет каталога в моей папке www.
«Устаревший» означает, что PHP 5.3.0 больше не поддерживает эту функцию. Вы должны относиться к ereg()
как к уже существующему.
Функция все еще существует, но только для поддержки существующих приложений, где она была использована. При написании нового кода никогда не используйте устаревшую функцию.
Вместо этого рассмотрим функцию preg_match .
Устаревшее означает, что эта функция в конечном итоге будет удалена из PHP в будущей версии. Вы больше не должны полагаться на это в своем коде и вместо этого используйте предложенную альтернативу.
В случае с ereg
PHP ereg
уведомление в Руководстве по PHP :
Начиная с PHP 5.3.0, расширение регулярного выражения устарело в пользу расширения PCRE. Вызов этой функции выдает уведомление E_DEPRECATED. См. Список различий в помощи при конвертации в PCRE.
Также см. Описание E_DEPRECATED
в Руководстве по PHP.
Для всех устаревших функций в PHP5.3 см. Устаревшие функции в PHP 5.3.x.
Более подробную информацию см. В статье Википедии об устаревании в программном обеспечении
Это означает, что функция, которую вы используете, теперь устарела. Вы не можете использовать эту функцию больше. Я получил ту же ошибку с PHP 5.5.6. Одним из возможных решений вашей проблемы может стать понижение вашей версии PHP, чтобы она поддерживалась.