如果名为ro_capacity
的字段为NULL(如果查询中的值返回为空),则我有一个PHP条件负责将$ hideZeroValues设置为FALSE。
if ($result_ro['ro_capacity'] == "") {
$hideZeroValues="true";
}
else{
$hideZeroValues="false";
}
$result_ro['ro_capacity']
产生的值作为父DIV上数据容量的值存储,而$hideZeroValues
条件产生的TRUE或FALSE存储在子行的data-zeroValues上。
因此,如果此条件可以正常工作,则可能没有同时拥有data-capacity=0
和data-zerovalues="true"
的选项,因为0是值,不是空值,不是NULL。但正如你在这两个div中看到的那样,它会发生:第一个是OK(data-capacity=""
和data-zeroValues="true"
),但是在第二个div上,即使查询返回值(0),它也会保持设置为TRUE 。
<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>
第三个,值为12,工作正常(问题只发生在0和NULL,而不是任何其他数值:
<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"; }
答案 0 :(得分:0)
这是因为PHP在PHP中被评估为false。
尝试这种方法:
if(empty($result_ro['ro_capacity']) && $result_ro['ro_capacity'] !== 0)