我假設這是一個HTML表單,$ values是引用或$ _POST。
當提交在HTML表單複選框,有兩種可能的結果:
- 未經檢查的 - 不會被提交,不會是陣列
- 經過的一部分 - 的價值複選框被提交
例子:
<input type="checkbox" name="Result" value="MyResultValue" />
<input type="hidden" name="HidValue" value="OtherValue" />
會產生ŧ他選中時:選中時
array (size=1)
'HidValue' => string 'OtherValue' (length=10)
和:
array (size=2)
'Result' => string 'MyResultValue' (length=13)
'HidValue' => string 'OtherValue' (length=10)
因此,檢查它是否被選中(我想包括驗證檢查,以確保該值沒有改變)做某事像這樣:
$values = $_POST; //again I'm assuming something like this is happening
if(isset($values['Result']) && $values['Result'] == 'MyResultValue')
如果你不關心驗證 - 只是使用isset。
我認爲你沒有在條件中傳遞正確的值,所以你總是會得到在{else}條件中給出的值。你的代碼沒有問題@約翰尼斯建議你使用和其他形式來編寫if語句,但問題不在那裏。 – Franco
您能告訴我們'$ values ['Return']'的代碼嗎?因爲問題很可能與該部分有關 – Dacaspex