我了解到我已经养成了一个不好的编程习惯,即在比较运算符中使用它们之前并不总是定义变量或属性。我以前从未注意到这一点,但现在我在不同的环境中开发,我得到了通知。
例如:
if ($test_var)
echo "Do some stuff";
这很容易根据需要isset
或empty
根据需要来解决。
但是,我也倾向于在比较中使用这些未声明的变量/属性,如下所示:
if (($test_int == 1) && ($test_str == "hello world"))
echo "Do some stuff";
用isset
orempty
语句重写要困难得多。我可以把整个东西包装在一堆 . issets
,但是你很快就会得到嵌套的意大利面条代码,这会影响可读性和可维护性。
我了解为什么会发生这种情况,但我正在寻求帮助,将最佳解决方案作为一般做法。
抱歉,如果此解决方案之前已发布。我看了看,但我能找到的只是关于为什么会出现通知的问题,而不是具体如何写比较。