在 PHP 中,布林值是一種只能有兩個值的資料型態:
布林值通常用於條件語句、比較和邏輯運算。需要注意的是,true 和 false 都不區分大小寫。所以,true、True、truE、TRUE 都是有效的。
您可以透過直接賦值 true 或 false 來建立布林變數:
範例:
<?php $isAvailable = true; // Boolean variable set to true $isLoggedIn = false; // Boolean variable set to false var_dump($isAvailable); // Output: bool(true) var_dump($isLoggedIn); // Output: bool(false) ?>
這裡使用var_dump()函數來顯示變數的型別和值。
在 PHP 中,許多資料型別都可以轉換為布林值。可以使用 (bool) 將值類型轉換為布林值。通常這不是必需的,因為當在邏輯上下文中使用值時,它將自動解釋為 bool 類型的值。
轉換為布林值時,以下值會傳回 false:
所有其他值都被視為 true,包括資源和 NAN。
範例:
<?php $values = [0, 1, "", "Hello", [], [1, 2, 3], null, 0.0, 3.14]; foreach ($values as $value) { var_dump((bool)$value); } ?>
輸出:
bool(false) // 0 bool(true) // 1 bool(false) // "" bool(true) // "Hello" bool(false) // [] bool(true) // [1, 2, 3] bool(false) // null bool(false) // 0.0 bool(true) // 3.14
布林值主要用在 if、else 和 switch 等條件語句中,以控製程式的流程。
範例:
<?php $isUserLoggedIn = true; if ($isUserLoggedIn) { echo "Welcome, User!"; // This message will be displayed } else { echo "Please log in."; } ?>
在此範例中,由於 $isUserLoggedIn 為 true,因此訊息「歡迎,使用者!」將顯示。
PHP 提供了各種返回布林值的比較運算子:
範例:
<?php $a = 10; $b = "10"; var_dump($a == $b); // Output: bool(true) - values are equal var_dump($a === $b); // Output: bool(false) - types are different var_dump($a > 5); // Output: bool(true) - 10 is greater than 5 var_dump($a != 10); // Output: bool(false) - 10 is equal to 10 ?>
邏輯運算子用於組合或否定布林表達式:
範例:
<?php $isAvailable = true; // Boolean variable set to true $isLoggedIn = false; // Boolean variable set to false var_dump($isAvailable); // Output: bool(true) var_dump($isLoggedIn); // Output: bool(false) ?>
由於類型雜亂,使用 == 可能會導致意外結果。始終使用 === 進行嚴格比較。
範例:
<?php $values = [0, 1, "", "Hello", [], [1, 2, 3], null, 0.0, 3.14]; foreach ($values as $value) { var_dump((bool)$value); } ?>
在第一種情況下,0 和 false 被認為是相等的,因為鬆散比較時 0 會轉換為 false。
某些值(如 0、「0」和空數組)被視為 false,有時會導致邏輯錯誤。
範例:
bool(false) // 0 bool(true) // 1 bool(false) // "" bool(true) // "Hello" bool(false) // [] bool(true) // [1, 2, 3] bool(false) // null bool(false) // 0.0 bool(true) // 3.14
邏輯運算子 && 和 ||使用短路評估。這意味著如果結果由第一個操作數決定,則不會計算第二個操作數。
範例:
<?php $isUserLoggedIn = true; if ($isUserLoggedIn) { echo "Welcome, User!"; // This message will be displayed } else { echo "Please log in."; } ?>
true 和 false 不區分大小寫,因此 True、FALSE 和 fAlSe 有效,但不建議保持一致性。
以上是了解 PHP 類型 – 布林值的詳細內容。更多資訊請關注PHP中文網其他相關文章!