【PHP】09. 布林值與條件判斷
【PHP】09. 布林值與條件判斷
此文章也有影片介紹,可以搭配影片一起學習!
01. 布林值與條件判斷 (所屬課程)
什麼是布林值(Boolean)?
布林值是電腦科學裡辨別true(真) 或false(假)的資料型別,是以發明布林代數的數學家喬治.布爾來命名。
通常的用法是,如果這件事是「真的」,我們就「做某件事情」,
如果是「假的」,我們就「不做某件事情」或「做另一件事情」。
譬如:
室溫超過28度的時候,小華會開冷氣。
如果室溫低於或等於28度,小華就不開冷氣。
布林值的概念:
1. 只有兩個值: true(真)和false(假)
2. PHP中不區分大小寫:也就是指true可寫成True、TRUE、 TRue 、TruE。其他程式語言要區分!! 建議寫true。
布林值與整數的關係
首先先宣告$a = true,$b = false
範例:
$a = true;
echo $a;
echo "<br/>";
?>
$b = false;
echo $b;
echo "<br/>";
?>
輸出結果:
因為echo只能對字串做處理,所以當遇到數值會將型別自動轉成字串。
也就是說PHP會把true轉成1,遇到false會轉成空字串(“”)。
但是實務上幾乎不太會用這樣的方式直接宣告,而是利用條件判斷的方式來處理問題。
條件判斷(if else)
條件判斷語法如下:
範例:
if( true ){
echo "Hi hi!!";
echo "<br/>";
}
?>
輸出結果:
如果條件改成false,則條件不成立不會執行任何動作。
範例:
if( false ){
echo "Hi hi!!";
echo "<br/>";
}
?>
輸出結果:
我們也可以這樣寫,
如果條件是true的情況,
if( true ){
echo "Hi hi!!";
echo "<br/>";
} else {
echo "Else!";
echo "<br/>";
}
?>
輸出結果:
如果條件改成false,
if ( false ){
echo "Hi hi!!";
echo "<br/>";
} else {
echo "Else!!";
echo "<br/>";
}
?>
輸出結果:
也可以設定變數$a = true,
範例:
$a = true;
if ( $a ) {
echo "Hi hi!!";
echo "<br/>";
} else {
echo "Else!!";
echo "<br/>";
}
?>
輸出結果:
設定變數$b = false,
範例:
$b = false;
if ( $b ) {
echo "Hi hi!!";
echo "<br/>";
}else{
echo "Else!!";
echo "<br/>";
}
?>
輸出結果:
以上是基本的條件判斷,我們可以用條件判斷進行一些比較運算。
布林值判斷
當我們遇到空字串(””)、 1、字串("foo")等不確定為真(true)或假(false)的情況下,我們也可以用var_dump((bool) 值)的方式來進行確認。
// 注意
// (bool) 是強制轉型的語法,把無論是什麼都強制轉型成bool的型態
// 強制轉型是後面才會比較詳盡的教到,這邊先直接使用就好。
// 可以想成
//
// $str = "";
// $data = (bool) $str; //<= 強制把字串變成布林
// var_dump( $data );
var_dump((bool) ""); // bool(false)
var_dump((bool) 1); // bool(true)
var_dump((bool) -1); // bool(true)
var_dump((bool) -2); // bool(true)
var_dump((bool) -10); // bool(true)
var_dump((bool) "foo"); // bool(true)
var_dump((bool) 2.3e5); // bool(true)
var_dump((bool) array(12)); // bool(true)
var_dump((bool) array()); // bool(false)
var_dump((bool) "false"); // bool(true)
?>
之後學習到物件概念後,我們也可以利用這樣的方式,確認變數是否存在。
範例:
$var = 10;
if ( $var ){
echo "Hi hi!!";
echo "<br/>";
} else {
echo "Else!!";
echo "<br/>";
}
?>
輸出結果:
範例:
$var;
if( $var ){
echo "Hi hi!!";
echo "<br/>";
} else {
echo "Else!!";
echo "<br/>";
}
?>
輸出結果:
這個方式在我們之後寫一些有功能性的程式碼時,可以利用這個寫法去判斷變數是否有值(例如確認使用者確實輸入姓名後,才可以跳到下一步)
最後,如果你喜歡我們的文章,別忘了到我們的FB粉絲團按讚喔!!