2014-03-29 86 views
0

我有一個PHP條件負責將$ hideZeroValues設置爲FALSE,如果名爲ro_capacity的字段爲NULL(如果該值在查詢上返回爲空)。PHP不區分NULL值(空值)和0值(數值)

if ($result_ro['ro_capacity'] == "") { 
    $hideZeroValues="true"; 
} 
else{ 
    $hideZeroValues="false"; 
} 

值從$result_ro['ro_capacity']所得被存儲在作爲關於父DIV數據容量的值,TRUE或FALSE從$hideZeroValues條件得到的存儲在數據zeroValues上的孩子的行。

所以,如果這個條件會工作正確的,有可能是同時具有data-capacity=0data-zerovalues="true"沒有選擇,因爲0是一個值,而不是一個空值,而不是空。但正如你在這兩個div中看到的那樣,它發生了:第一個是確定的(data-capacity=""data-zeroValues="true"),但是第二個它保持設置TRUE,即使查詢返回一個值(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> 

第三個,有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"; } 
+2

你嘗試過空的()? – karlingen

+0

嗨卡林根感謝您的關注。在哪種方式我可以使用空()使PHP瞭解0作爲非空值? – Biomehanika

+1

if(empty($ result_ro ['ro_capacity'])&& $ result_ro ['ro_capacity']!== 0) – karlingen

回答

0

這是BEC ause 0在PHP中被評估爲false。

試試這個辦法:

if(empty($result_ro['ro_capacity']) && $result_ro['ro_capacity'] !== 0)