進度條

【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

 

範例:

<?php

  $a = true;
  echo $a;
  echo "<br/>";

?>

 

<?php

  $b = false;
  echo $b;
  echo "<br/>"; 

?>

 

輸出結果:

 

 

因為echo只能對字串做處理,所以當遇到數值會將型別自動轉成字串。
也就是說PHP會把true轉成1,遇到false會轉成空字串(“”)。

 
但是實務上幾乎不太會用這樣的方式直接宣告,而是利用條件判斷的方式來處理問題。

 

條件判斷(if else)

條件判斷語法如下:

 

 

範例:

<?php

  if( true ){
    echo "Hi hi!!";
    echo "<br/>";
  }

?> 

 

輸出結果: 

Hi hi!! 


如果條件改成false,則條件不成立不會執行任何動作。

 

範例:

<?php
 
  if( false ){
    echo "Hi hi!!";
    echo "<br/>";
  }

?> 


輸出結果:

*什麼也沒有,也沒有換行。

 

我們也可以這樣寫,

 

 

如果條件是true的情況,

<?php

  if( true ){
    echo "Hi hi!!";
    echo "<br/>";
  } else {
    echo "Else!";
    echo "<br/>";
  }

?> 

 

輸出結果:

Hi hi!! 

 

如果條件改成false,

<?php

  if ( false ){
    echo "Hi hi!!";
    echo "<br/>";
  } else {
    echo "Else!!";
    echo "<br/>";
  }

?> 

 

輸出結果:

Else!!

 

也可以設定變數$a = true,

範例:

<?php

  $a = true;

  if ( $a ) {
    echo "Hi hi!!";
    echo "<br/>";
  } else {
    echo "Else!!";
    echo "<br/>";
  } 

?>

 

輸出結果:

Hi hi!! 

 

設定變數$b = false,

範例:

<?php

  $b = false;

  if ( $b ) {
    echo "Hi hi!!";
    echo "<br/>";
  }else{
    echo "Else!!";
    echo "<br/>";
  } 

?>

 

輸出結果:

else!! 

以上是基本的條件判斷,我們可以用條件判斷進行一些比較運算。

 

 

布林值判斷  

當我們遇到空字串(””)、 1、字串("foo")等不確定為真(true)或假(false)的情況下,我們也可以用var_dump((bool) 值)的方式來進行確認。 

<?php

// 注意
// (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)

?> 


之後學習到物件概念後,我們也可以利用這樣的方式,確認變數是否存在。
 

 範例:

<?php

  $var = 10;

  if ( $var ){
    echo "Hi hi!!";
    echo "<br/>";
  } else {
    echo "Else!!";
    echo "<br/>";
  }

?> 

 

輸出結果:

Hi hi!!

 

範例:

<?php

  $var;

  if( $var ){
    echo "Hi hi!!";
    echo "<br/>";
  } else {
    echo "Else!!";
    echo "<br/>";
  }
 
?>

 

輸出結果:

else!!

 

這個方式在我們之後寫一些有功能性的程式碼時,可以利用這個寫法去判斷變數是否有值(例如確認使用者確實輸入姓名後,才可以跳到下一步)

 

 


最後,如果你喜歡我們的文章,別忘了到我們的FB粉絲團按讚喔!!

Small logo

進度條編輯群

進度條編輯團隊