将$ val*1乘以将null转换为零是"不好"的做法

ato*_*ode 3 php postgresql null arithmetic-expressions

我正在使用PHP 5.5从数字postgresql数据库表字段中检索数值.它可以来自DB作为null或实际数字,无论我将其存储在变量中.因为我们中的一些人可能知道或者可能不知道null*1 = 0,这是我喜欢做的事情,但是我担心这是否是错误的,或者将潜在的空值转换为零而不实际拥有它是不好的做法检查价值.见下文:

... $fieldVal *= 1; //assume at this point this holds value returned by DB ...

因此,如果db返回null,则$ fieldVal将变为零,并且任何非null值将保持不变.非常感谢您的见解.

Jua*_*eza 5

更改您的查询以包括COALESCE并解决空案例

SELECT fieldNane
Run Code Online (Sandbox Code Playgroud)

至

SELECT COALESCE(fieldName, 0)
Run Code Online (Sandbox Code Playgroud)

顺便说一句:是的,糟糕的做法是介绍那种黑客行为.