PHP不区分空值(空值)和0值(数字)
如果一个名为PHP不区分空值(空值)和0值(数字),php,sql,null,conditional,Php,Sql,Null,Conditional,如果一个名为ro_capacity的字段为空(如果该值在查询中返回为空),我有一个PHP条件负责将$hideZeroValues设置为FALSE 由$result\u ro['ro\u capacity']产生的值存储在上,作为父DIV上的数据容量值,由$hideZeroValues条件产生的TRUE或FALSE存储在子行的数据零值上 因此,如果这个条件能够正常工作,就不可能同时具有数据容量=0和数据zerovalues=“true”,因为0是一个值,不是空值,也不是空值。但正如您在这两个div
ro_capacity
的字段为空(如果该值在查询中返回为空),我有一个PHP条件负责将$hideZeroValues设置为FALSE
由$result\u ro['ro\u capacity']
产生的值存储在上,作为父DIV上的数据容量值,由$hideZeroValues
条件产生的TRUE或FALSE存储在子行的数据零值上
因此,如果这个条件能够正常工作,就不可能同时具有数据容量=0
和数据zerovalues=“true”
,因为0是一个值,不是空值,也不是空值。但正如您在这两个div中看到的,它发生了:第一个是OK(data capacity=“
和data zeroValues=“true”
),但在第二个div上,即使查询返回值(0),它也会保持设置为true
及
这是因为0在PHP中的计算结果为false 尝试以下方法:
if(empty($result_ro['ro_capacity']) && $result_ro['ro_capacity'] !== 0)
你试过空的吗?嗨,卡林根,谢谢你的关注。我可以通过哪种方式使用empty()使php将0理解为非空值?如果(empty($result\u ro['ro\u capacity'])和&$result\u ro['ro\u capacity']!==0)至少起作用,谢谢,不用担心。我也把它作为一个答案。
<div id="92" class="tableRow" title="Aula prueba" data-id="92" data-capacity="">
<span class="tableContentText centerText" data-zerovalues="true">-</span>
</div>
<div id="91" class="tableRow" title="Aula prueba" data-id="91" data-capacity="0">
<span class="tableContentText centerText" data-zerovalues="true">-</span>
</div>
<div id="93" class="tableRow" title="Aula prueba" data-id="91" data-capacity="12">
<span class="tableContentText centerText" data-zerovalues="false">-</span>
</div>
if ($result_ro['ro_capacity'] === "") { $hideZeroValues="true"; }
if (is_null($result_ro['ro_capacity']) { $hideZeroValues="true"; }
if(empty($result_ro['ro_capacity']) && $result_ro['ro_capacity'] !== 0)