以下代碼很有效,直到inQuantity接收到零「0」。在收到一個零後,它將評估它爲空,並將其置入空值而不是「0」。如果輸入「0.00」,則評估爲非空。php三元運算符在輸入0時失敗
$_POST['inQuantity'] = (!empty($_POST['inQuantity'])) ? $_POST['inQuantity'] : NULL;
下面的代碼產生相同的結果
if (empty($_POST['inQuantity'])) {
$state = "empty";
} else {
$state = "full";
}
時inQuantity爲 「0」 $狀態的輸出是 「空」
任何人都知道這是爲什麼?
這是不是一個「失敗「根本就是,php(以及大多數其他語言)如何解釋」0「值。這是有據可查的行爲。您可能希望將其作爲條件:'(isset($ _ POST ['inQuantity']))' – arkascha
請注意,所提及的副本提及任何變量,而這是關於從GPC獲取的值;區別在於不需要的'empty()'行爲僅限於「0」。 –
非常感謝,新手在這裏,對我來說仍然是一個錯誤。 – user2793447