PHP编码实践

Dan*_*Dan 7 php

如果我得到一个变量,我不知道它是否设置我可以写

if (isset($a) && $a > 2)
Run Code Online (Sandbox Code Playgroud)

或者我可以写

if (@ $a > 2)
Run Code Online (Sandbox Code Playgroud)

这更短.第二种语法是好还是不好?

Nic*_*ick 15

表达式if(@$a)不检查变量是否已设置.@符号只是表示任何警告,这是一种糟糕的编码风格.


Pek*_*ica 10

完全同情,但抑制错误使用@ 不好的做法.

错误仍然发生,它只是被抑制.然而,如果在循环中完成,它可以花费很多时间来累积很多时间.

此外,您还可以利用"未定义变量"通知的优势:作为避免拼写错误的机制.