Im從我的數據庫中獲得一個整數,它是0或1.有了這些信息,我想更改一個字符串來表示Esea。這是我的代碼是不工作:PHP檢查var是0還是1,然後相應地打印
<?php
$esea = '';
if (!empty($final_data['esea'])) {
$esea = 'Esea'
}
?>
然後這是我打印:
<p><?php echo $esea ?></p>
Im從我的數據庫中獲得一個整數,它是0或1.有了這些信息,我想更改一個字符串來表示Esea。這是我的代碼是不工作:PHP檢查var是0還是1,然後相應地打印
<?php
$esea = '';
if (!empty($final_data['esea'])) {
$esea = 'Esea'
}
?>
然後這是我打印:
<p><?php echo $esea ?></p>
$myvalue= '';
if (!empty($final_data['esea'])) {
$myvalue= 'Foo'
} else {
$myvalue= 'Bar'
}
echo $myvalue;
如果輸出Foo
然後$final_data['esea']
爲之一:
- 「」(一個空字符串)
- 0(0作爲整數)
- 0.0(0爲float)
- 「0」(0作爲字符串)
- NULL
- FALSE
- 陣列()(空數組)
See the empty()
documentation。
如果輸出是Bar
那麼$final_data['esea']
不是上述值。
還要注意的是,上面的代碼可以被改寫爲:
$myvalue= '';
if (empty($final_data['esea'])) {
$myvalue= 'Bar'
} else {
$myvalue= 'Foo'
}
echo $myvalue;
這是功能完全相同相同。唯一的區別是emtpy(...)
v.s. !empty(...)
(以及if/else交換中的邏輯)。
謝謝@羅伯爾你是一個紳士和學者! – Tim
我會跳過''''的初始任務,因爲無論如何你總是會覆蓋它...... – deceze
@deceze在這個例子中,也許。但通常(並不總是)初始化變量是一個好主意。這樣,當你稍後重構你的代碼(並且可能刪除'else {...}'部分)時,你將不會引用一個未初始化的變量。話說回來;我來自C#背景,其中這樣的東西不僅僅是良好的實踐,甚至*需要*。不過,我確實認爲這適用於任何語言。另請參閱[文檔](http://php.net/manual/en/language.variables.basics.php):'*不需要在PHP中初始化變量,但這是一個非常好的做法(... )*' – RobIII
注意'null'不是'0';你的標題說'空',你的問題談論'0'。雖然'empty()'函數應該將[0]和'null'作爲[相同](http://php.net/manual/en/function.empty.php)並返回true。你確定'$ final_data ['esea']'包含你期望的內容嗎?你[var_dump()'](http://php.net/manual/en/function.var-dump.php)嗎?你可以發佈'var_dump($ final_data ['esea']);''甚至是'var_dump($ final_data);''的輸出嗎? – RobIII
您也可以執行嚴格的比較,如下所示:'if($ final_data ['esea'] === 1){//您的代碼}' –
發佈php代碼哪個數據庫檢索部分 –