PHP基准测试-检查未设置的变量或警告关闭

PHP基准测试-检查未设置的变量或警告关闭,php,benchmarking,error-reporting,variable-assignment,Php,Benchmarking,Error Reporting,Variable Assignment,是否有人知道其优缺点,例如检查变量是否设置的速度,而不是简单地关闭警告 下面是一个非常糟糕的例子,但说明了我的意思: #Does a check for the variable - error reporting on (Display no warnings) $i = (!isset($i)) ? $i + 5 : 5; #error reporting off (Display no warnings) $i = $i + 5; 提前感谢您的任何想法 这归结为一个基本问题:应用程序的

是否有人知道其优缺点,例如检查变量是否设置的速度,而不是简单地关闭警告

下面是一个非常糟糕的例子,但说明了我的意思:

#Does a check for the variable - error reporting on (Display no warnings)
$i = (!isset($i)) ? $i + 5 : 5;

#error reporting off (Display no warnings)
$i = $i + 5;

提前感谢您的任何想法

这归结为一个基本问题:应用程序的正确运行还是快速运行更重要


如果您只是忽略警告,逻辑错误可能会被忽略。您的程序可能执行得很快,但故障最快的应用程序的价值低于功能最慢的应用程序。

这归结为一个基本问题:应用程序正确运行还是快速运行更重要


如果您只是忽略警告,逻辑错误可能会被忽略。您的程序可能执行得很快,但故障最快的应用程序的价值低于功能最慢的应用程序。

您应该始终在启用
error\u reporting
的情况下进行开发(最好使用
E|u ALL | E_STRICT
)。考虑到这一点,您的问题感觉毫无意义:您的第二个示例必须被视为“有点问题”。您应该在开发时打开错误,并在生产时关闭它们。大多数时候,它捕捉到的东西(比如声明变量)不仅会帮你省去麻烦,而且实际上可能会加速你的程序。总而言之,这将是微秒,所以我更担心好的代码。您应该始终在启用
error\u reporting
的情况下进行开发(最好使用
E\u All | E\u STRICT
)。考虑到这一点,您的问题感觉毫无意义:您的第二个示例必须被视为“有点问题”。您应该在开发时打开错误,并在生产时关闭它们。大多数时候,它捕捉到的东西(比如声明变量)不仅会帮你省去麻烦,而且实际上可能会加速你的程序。总而言之,这将是微秒,所以我更担心好的代码。另外,我敢打赌,除非在非常大的范围内实现更快的方法,否则您将永远看不到性能优势,并且您将永远拥有粗糙的代码。试着想想那个继承了你的项目、发出警告并认为自己做错了什么的可怜的家伙。另外,我敢打赌,除非在非常大的范围内实现更快的方法,否则你将永远看不到性能方面的好处,而且你将永远拥有粗糙的代码。试着想想那个继承了你的项目、发出警告并认为自己做错了什么的可怜人。