PHP基礎(chǔ)之?dāng)?shù)據(jù)類(lèi)型1——布爾類(lèi)型(Boolean)
這是最簡(jiǎn)單的類(lèi)型。boolean 表達(dá)了真值,可以為 TRUE 或 FALSE。
語(yǔ)法要指定一個(gè)布爾值,使用關(guān)鍵字 TRUE 或 FALSE。兩個(gè)都不區(qū)分大小寫(xiě)。
<?php
$foo = True; // assign the value TRUE to $foo
?>
通常運(yùn)算符所返回的 boolean 值結(jié)果會(huì)被傳遞給控制流程。
<?php
// == 是一個(gè)操作符,它檢測(cè)兩個(gè)變量是否相等,并返回一個(gè)布爾值
if ($action == 'show_version') {
echo 'The version is 1.23';
}
// 這樣做是不必要的...
if ($show_separators == TRUE) {
echo '<hr>n';
}
// ...因?yàn)榭梢允褂孟旅孢@種簡(jiǎn)單的方式:
if ($show_separators) {
echo '<hr>n';
}
?>
轉(zhuǎn)換為布爾值要明確地將一個(gè)值轉(zhuǎn)換成 boolean,用 (bool) 或者 (boolean) 來(lái)強(qiáng)制轉(zhuǎn)換。但是很多情況下不需要用強(qiáng)制轉(zhuǎn)換,因?yàn)楫?dāng)運(yùn)算符,函數(shù)或者流程控制結(jié)構(gòu)需要一個(gè) boolean 參數(shù)時(shí),該值會(huì)被自動(dòng)轉(zhuǎn)換。
參見(jiàn)類(lèi)型轉(zhuǎn)換的判別。
當(dāng)轉(zhuǎn)換為 boolean 時(shí),以下值被認(rèn)為是 FALSE:
布爾值 FALSE 本身
整型值 0(零)
浮點(diǎn)型值 0.0(零)
空字符串,以及字符串 '0'
不包括任何元素的數(shù)組
不包括任何成員變量的對(duì)象(僅 PHP 4.0 適用)
特殊類(lèi)型 NULL(包括尚未賦值的變量)
從沒(méi)有任何標(biāo)記(tags)的 XML 文檔生成的 SimpleXML 對(duì)象
所有其它值都被認(rèn)為是 TRUE(包括任何資源)。
Warning
-1 和其它非零值(不論正負(fù))一樣,被認(rèn)為是 TRUE!
<?php
var_dump((bool) '');// bool(false)
var_dump((bool) 1); // bool(true)
var_dump((bool) -2); // 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)
?>
相關(guān)文章:
1. js select支持手動(dòng)輸入功能實(shí)現(xiàn)代碼2. 如何在PHP中讀寫(xiě)文件3. java加載屬性配置properties文件的方法4. PHP正則表達(dá)式函數(shù)preg_replace用法實(shí)例分析5. 什么是Python變量作用域6. 《Java程序員修煉之道》作者Ben Evans:保守的設(shè)計(jì)思想是Java的最大優(yōu)勢(shì)7. CSS3中Transition屬性詳解以及示例分享8. php redis setnx分布式鎖簡(jiǎn)單原理解析9. bootstrap select2 動(dòng)態(tài)從后臺(tái)Ajax動(dòng)態(tài)獲取數(shù)據(jù)的代碼10. vue使用moment如何將時(shí)間戳轉(zhuǎn)為標(biāo)準(zhǔn)日期時(shí)間格式
