Есть ли способ использовать preg_match_all без предварительного объявления переменной? - PullRequest
0 голосов
/ 16 октября 2011

Есть ли какой-нибудь причудливый синтаксис, который я могу использовать в функции preg_match_all для установки новой переменной $ match в то время, вместо того, чтобы делать это заранее, как я это сделал ниже?

 $matches = '';
 preg_match_all('/[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,4}/', file_get_contents($eFetchURL), $matches);

Заранее спасибо заваша помощь!

Ответы [ 2 ]

4 голосов
/ 16 октября 2011

Да, а именно:

preg_match_all('/[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,4}/', file_get_contents($eFetchURL), $matches);

Использование ссылки на несуществующую переменную в PHP не является ошибкой.Скорее PHP автоматически объявляет переменную для вас и определяет ее как NULL.

0 голосов
/ 16 октября 2011

Не объявляемые переменные выдают E_NOTICE.В зависимости от php.ini или конфигурации среды выполнения, используя функцию error_reporting, исключение может быть опущено или нет.

Хорошей практикой является включение режима E_STRICT в среде разработки.

Примечание:

Включение E_NOTICE во время разработки имеет некоторые преимущества.В целях отладки: УВЕДОМЛЕННЫЕ сообщения будут предупреждать вас о возможных ошибках в вашем коде.Например, использование неназначенных значений предупреждено.Чрезвычайно полезно найти опечатки и сэкономить время на отладку.УВЕДОМЛЕНИЯ сообщат вам о плохом стиле.Например, $ arr [item] лучше записывать как $ arr ['item'], так как PHP пытается обрабатывать «item» как константу.Если это не константа, PHP предполагает, что это строковый индекс для массива.

Примечание:

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

Дополнительную информацию можно найти в

http://php.net/manual/en/errorfunc.configuration.php

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...