我有我的PHP形式的下拉選項...如何爲您在選擇下拉列表中的變量如果選項之一是0
<div class="field">
<label>* Number of People</label>
<select class="ui dropdown" name="male">
<option value="">Gender Male</option>
<option <?php if ($male == 0) echo 'selected' ; ?> value="0">0</option>
<option <?php if ($male == 1) echo 'selected' ; ?> value="1">1</option>
<option <?php if ($male == 2) echo 'selected' ; ?> value="2">2</option>
<option <?php if ($male == 3) echo 'selected' ; ?> value="3">3</option>
<option <?php if ($male == 4) echo 'selected' ; ?> value="4">4</option>
<option <?php if ($male == 5) echo 'selected' ; ?> value="5">5</option>
<option <?php if ($male == 6) echo 'selected' ; ?> value="6">6</option>
<option <?php if ($male == 7) echo 'selected' ; ?> value="7">7</option>
<option <?php if ($male == 8) echo 'selected' ; ?> value="8">8</option>
<option <?php if ($male == 9) echo 'selected' ; ?> value="9">9</option>
<option <?php if ($male == 10) echo 'selected' ; ?> value="10">10</option>
</select>
<?php if(isset($maleErr)) print ('<span class="error">* ' . $maleErr . '</span>'); ?>
</div>
然而,由於第一個選項是0 ,原來的錯誤檢查是這樣的:
if (empty($_POST["male"])) {
$maleErr = "# of people (gender male) required";
} else {
$male = test_input($_POST["male"]);
}
不斷彈出錯誤,它沒有被設置。我意識到,因爲0 PHP的空函數等於空的,我把它改成這樣:
if (is_null($_POST["male"])) {
$maleErr = "# of people (gender male) required";
} else {
$male = test_input($_POST["male"]);
}
是正確的方式來檢查表單字段不爲空?
請讓我知道。謝謝。
附錄
你的意思是這樣的嗎?
<option <?php if ($male === 0) echo 'selected' ; ?> value="0">0</option>
這將仍然失敗,因爲'0 ==「」'是真實的。 –
啊,是的。所以我們每個人都是正確的。 – AbraCadaver
@AbraCadaver,感謝您的解答。使用它。欣賞它。 – user273072545345