004、判斷式的比較與回傳值

1、判斷式:

1、利用比較運算子:>、>=、<、<=、!、==,來進行比較

2、利用值的輸出:例如:100、0、NULL、''空資料、true、false關鍵字

3、利用運算式,得到的結果輸出

2、利用比較運算子:>、>=、<、<=、!、==,來進行比較

1、請記得:比較後,回傳的值就是 true 或 false 關鍵字

2、在寫程式碼時,在寫判斷式或運算式時,儘量要習慣寫出小括號(...)

練習1:

<meta charset="utf-8"?>
<?php
echo (3>8);       //結果是false,但不會顯示值
echo "<br>";
echo (8>3);
echo "<br>";
?>

結果輸出:

1

 

練習2:利用 var_dump() 可以看到資料型態

<meta charset="utf-8"?>
<?php
echo var_dump(3>8);       //結果是false,但不會顯示值
echo "<br>";
echo var_dump(8>3);
echo "<br>";
?>

結果輸出:

bool(false)
bool(true)

 

練習3:利用 (int) 語法可以將值進行資料型態轉換

<meta charset="utf-8"?>
<?php
echo (int)(3>8);       //結果是false,但不會顯示值
echo "<br>";
echo (int)(8>3);
echo "<br>";
?>

結果輸出:

0
1

 

練習4:

<meta charset="utf-8"?>
<?php
$a = 20;
echo var_dump($a<10);
echo "<br>";
echo var_dump($a>10);
echo "<br>";
?>

結果輸出:

bool(false)
bool(true)

 

3、真值與假值、是與否

1、在PHP中所謂的真值,就是有資料的都是真值,例如:123、'abc'、-100、'早安'、true、1

2、假值,指的是在判斷式中會被否定的值,其中有:0、false、''空字串

3、使用 if() 流程式來查看

練習1:

<meta charset="utf-8"?>
<?php
if(8>3){echo "是";}else{echo "否";}   //true
echo "<br>";
if(3>8){echo "是";}else{echo "否";}   //false
echo "<br>";
if(100){echo "是";}else{echo "否";}   //true,只要有值,就是為真
echo "<br>";
if(-100){echo "是";}else{echo "否";}  //true,只要有值,就是為真
echo "<br>";
$s = "你好";
if($s){echo "是";}else{echo "否";}    //true,只要有值,就是為真
echo "<br>";
?>

結果輸出:





 

練習2:了解哪些會造成 "否值"

<meta charset="utf-8"?>
<?php

if(3>6){echo "是";}else{echo "否";}       //回傳false
echo "<br>";
if(false){echo "是";}else{echo "否";}
echo "<br>";
if(8-4*2){echo "是";}else{echo "否";}  //回傳0,運算式結果是0,也是false
echo "<br>";
if(0){echo "是";}else{echo "否";}
echo "<br>";
$a = 100;
if($a-100){echo "是";}else{echo "否";}    //回傳0,運算式結果是0,也是false
echo "<br>";
if(''){echo "是";}else{echo "否";}    //遇到空字串,也是false
echo "<br>";
$b = NULL;
if($b){echo "是";}else{echo "否";}    //未給予值,也是false
echo "<br>";
if(NULL){echo "是";}else{echo "否";}  
echo "<br>";

?>

結果輸出:








 

練習3:在判斷式中等不等於是用二個等號 == ,一個等號是指派值,是真值

1、一個等號,是一般為變數指定一個值,稱為指派

2、二個等號,是比較運算子,比較二個值是不是相等於

3、三個等號,是比較值要相等,而且資料型態也要相等

<meta charset="utf-8"?>
<?php
$a = 50;
if($a=100){echo "是";}else{echo "否";}        //到這行這裡己設定變數a=100
echo "<br>";
if($a==100){echo "是";}else{echo "否";}
echo "<br>";
if($a===100){echo "是";}else{echo "否";}
echo "<br>";
?>

結果輸出:



4、有沒有什麼函數可以驗證變數

練習:

<meta charset="utf-8"?>
<?php
$a = NULL;
$c = 100;
$d = 0;
$e = '';
if(isset($a)){echo "是";}else{echo "否";}     //測試為NULL的$a
echo "<br>";
if(isset($b)){echo "是";}else{echo "否";}     //測試不存在的$b
echo "<br>";
if(isset($c)){echo "是";}else{echo "否";}     //測試有值的$c
echo "<br>";
if(isset($d)){echo "是";}else{echo "否";}     //測試為0的$d、結果為true
echo "<br>";
if(isset($e)){echo "是";}else{echo "否";}     //測試為空字串的$e、結果為true
echo "<br>";
?>

結果輸出:





 

練習:

<meta charset="utf-8"?>
<?php
$a = NULL;
$c = 100;
$d = 0;
$e = '';
$f = false;
if(empty($a)){echo "是";}else{echo "否";}     //測試為NULL的$a、結果為true
echo "<br>";
if(empty($b)){echo "是";}else{echo "否";}     //測試不存在的$b、結果為true
echo "<br>";
if(empty($c)){echo "是";}else{echo "否";}     //測試有值的$c
echo "<br>";
if(empty($d)){echo "是";}else{echo "否";}     //測試為0的$d、結果為true
echo "<br>";
if(empty($e)){echo "是";}else{echo "否";}     //測試為空字串的$e、結果為true
echo "<br>";
if(empty($f)){echo "是";}else{echo "否";}     //測試為false的$f、結果為true
echo "<br>";
?>

結果輸出:






shape
shape