我是否可以在preg_match_all函数中使用一些花哨的语法来建立新的$ matches变量,而不是像我之前所做的那样事先这样做?
$matches = '';
preg_match_all('/[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,4}/', file_get_contents($eFetchURL), $matches);
提前感谢您的帮助!
答案 0 :(得分:4)
是的,即:
preg_match_all('/[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,4}/', file_get_contents($eFetchURL), $matches);
在PHP中引用一个不存在的变量不是错误。相反,PHP会自动为您声明变量并将其定义为NULL。
答案 1 :(得分:0)
不声明变量会抛出E_NOTICE。根据php.ini或运行时配置,使用error_reporting函数,可以省略或不例外。
良好的做法是在开发环境中启用E_STRICT模式。
注意:
在开发期间启用E_NOTICE有一些好处。出于调试目的:NOTICE消息将警告您代码中可能存在的错误。例如,警告使用未分配的值。找到拼写错误并节省调试时间非常有用。注意消息将警告您不良风格。例如,$ arr [item]最好写成$ arr ['item'],因为PHP试图将“item”视为常量。如果它不是常量,PHP假定它是数组的字符串索引。
注意:
在PHP 5中,可以使用新的错误级别E_STRICT。由于E_STRICT未包含在E_ALL中,因此您必须明确启用此类错误级别。在开发期间启用E_STRICT有一些好处。 STRICT消息将帮助您使用最新和最好的建议编码方法,例如警告您使用已弃用的函数。
您可以在
中找到更多信息