搜尋
首頁後端開發php教程了解 PHP 類型 – 布林值

Understanding PHP Types – Booleans

什麼是布林值?

在 PHP 中,布林值是一種只能有兩個值的資料型態:

  • true:代表積極或肯定的狀態。
  • false:表示否定或錯誤狀態。

布林值通常用於條件語句、比較和邏輯運算。需要注意的是,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:

  • 布林值 false 本身
  • 整數值0
  • 浮點值 0.0 和 -0.0
  • 空字串,“”
  • 帶有單一零「0」的字串
  • 空數組
  • 型 null
  • 未設定的變數
  • 其他一些複數值

所有其他值都被視為 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
?>

邏輯運算符和布林值

邏輯運算子用於組合或否定布林表達式:

  • && (AND):如果兩個運算元都為 true,則傳回 true。
  • || (OR):如果至少一個運算元為 true,則傳回 true。
  • ! (NOT):否定布林表達式。

範例:

<?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)
?>

一些布林警告


1. 鬆散的比較

由於類型雜亂,使用 == 可能會導致意外結果。始終使用 === 進行嚴格比較。

範例:

<?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。


2. 錯誤的價值觀

某些值(如 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

3. 短路評估

邏輯運算子 && 和 ||使用短路評估。這意味著如果結果由第一個操作數決定,則不會計算第二個操作數。

範例:

<?php $isUserLoggedIn = true;

if ($isUserLoggedIn) {
    echo "Welcome, User!"; // This message will be displayed
} else {
    echo "Please log in.";
}
?>

4. 區分大小寫

true 和 false 不區分大小寫,因此 True、FALSE 和 fAlSe 有效,但不建議保持一致性。

以上是了解 PHP 類型 – 布林值的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
高流量網站的PHP性能調整高流量網站的PHP性能調整May 14, 2025 am 12:13 AM

TheSecretTokeEpingAphp-PowerEdwebSiterUnningSmoothlyShyunderHeavyLoadInVolvOLVOLVOLDEVERSALKEYSTRATICES:1)emplactopCodeCachingWithOpcachingWithOpCacheToreCescriptexecution Time,2)使用atabasequercachingCachingCachingWithRedataBasEndataBaseLeSendataBaseLoad,3)

PHP中的依賴注入:初學者的代碼示例PHP中的依賴注入:初學者的代碼示例May 14, 2025 am 12:08 AM

你應該關心DependencyInjection(DI),因為它能讓你的代碼更清晰、更易維護。 1)DI通過解耦類,使其更模塊化,2)提高了測試的便捷性和代碼的靈活性,3)使用DI容器可以管理複雜的依賴關係,但要注意性能影響和循環依賴問題,4)最佳實踐是依賴於抽象接口,實現鬆散耦合。

PHP性能:是否可以優化應用程序?PHP性能:是否可以優化應用程序?May 14, 2025 am 12:04 AM

是的,優化papplicationispossibleandessential.1)empartcachingingcachingusedapcutorediucedsatabaseload.2)優化的atabaseswithexing,高效Quereteries,and ConconnectionPooling.3)EnhanceCodeWithBuilt-unctions,避免使用,避免使用ingglobalalairaiables,並避免使用

PHP性能優化:最終指南PHP性能優化:最終指南May 14, 2025 am 12:02 AM

theKeyStrategiestosigantificallyBoostPhpaPplicationPerformenCeare:1)UseOpCodeCachingLikeLikeLikeLikeLikeCacheToreDuceExecutiontime,2)優化AtabaseInteractionswithPreparedStateTementStatementStatementAndProperIndexing,3)配置

PHP依賴注入容器:快速啟動PHP依賴注入容器:快速啟動May 13, 2025 am 12:11 AM

aphpdepentioncontiveContainerIsatoolThatManagesClassDeptions,增強codemodocultion,可驗證性和Maintainability.itactsasaceCentralHubForeatingingIndections,因此reducingTightCightTightCoupOulplingIndeSingantInting。

PHP中的依賴注入與服務定位器PHP中的依賴注入與服務定位器May 13, 2025 am 12:10 AM

選擇DependencyInjection(DI)用於大型應用,ServiceLocator適合小型項目或原型。 1)DI通過構造函數注入依賴,提高代碼的測試性和模塊化。 2)ServiceLocator通過中心註冊獲取服務,方便但可能導致代碼耦合度增加。

PHP性能優化策略。PHP性能優化策略。May 13, 2025 am 12:06 AM

phpapplicationscanbeoptimizedForsPeedAndeffificeby:1)啟用cacheInphp.ini,2)使用preparedStatatementSwithPdoforDatabasequesies,3)3)替換loopswitharray_filtaray_filteraray_maparray_mapfordataprocrocessing,4)conformentnginxasaseproxy,5)

PHP電子郵件驗證:確保正確發送電子郵件PHP電子郵件驗證:確保正確發送電子郵件May 13, 2025 am 12:06 AM

phpemailvalidation invoLvesthreesteps:1)格式化進行regulareXpressecthemailFormat; 2)dnsvalidationtoshethedomainhasavalidmxrecord; 3)

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

PhpStorm Mac 版本

PhpStorm Mac 版本

最新(2018.2.1 )專業的PHP整合開發工具

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

強大的PHP整合開發環境

VSCode Windows 64位元 下載

VSCode Windows 64位元 下載

微軟推出的免費、功能強大的一款IDE編輯器

WebStorm Mac版

WebStorm Mac版

好用的JavaScript開發工具