多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
<div style="height:30px;line-height:30px;background:#f1f1f1;font-weight:bold;font-size:14px;padding:5px 10px;margin-bottom:10px;border-bottom:1px solid #ccc">类型>Boolean布尔类型</div> **这是最简单的类型。boolean 表达了真值,可以为 TRUE 或 FALSE。注意不区分大小写。** 赋值:$a=true; 判断一个变量是否为true,或者为false,可以用如下方法: ~~~ if ($a) {} ~~~ 和 ~~~ if (!$a) {} ~~~ 相关函数:is_bool()判断某个变量是否为布尔类型。 **关于1,0,true,false。** 以下情景,被认为false: 1.false本身; 2.整形0或者字符"0"; 3.浮点:0.0。注意:字符“0.0”不等于false。 4.不包括任何元素的数组。空数组。 5.不包括任何成员变量的对象(仅 PHP 4.0 适用) 6.特殊类型 NULL(包括尚未赋值的变量) 7.从空标记生成的 SimpleXML 对象 关于0跟false比较: 如果一个字符跟数字比较,会将字符先转化为数字。然后比较。intval任何非数字字符结果都为0;如果两个都是字符串数字,将会按数字来了比较。 8.所有字符类浮点型,都被看成纯字符。不可以等于false。 ~~~ 0==“false” true int "0"=="false" false "0.0"==false false "false"==false false (只跟0比较的时候,才可能会被认为"false"为bool) ~~~ 注意,bool类型前面可以加多个!(非)不报错。 ***所有其它值都被认为是 TRUE(包括任何资源)。*** 一些关于1跟false混淆点: ~~~ "true"==1; false 111==true;true "true"==true; true 0=="0" true "0.0"==0 true "0.0"=="0" true ~~~ 复合运算符的两种特例: ~~~ $x=TRUE; $y=FALSE; $z=$y OR $x; 将返回 false; 原因:“=”的运算级别比or高。 ~~~ ~~~ $x=TRUE; $y=FALSE; $z=$y || $x; 将返回 true 原因: ||运算级别比=高。 ~~~ ***注意:在跟运算符做比较的时候,true跟false都会被当做数字来使用。*** ~~~ true:1 false:0 true+true=2; true-false=1; ~~~ ~~~ echo true ? 'true' : 'false' 返回true ~~~ ~~~ echo (string) false; 返回空 echo (string) true; 返回1 ~~~ 归纳: 1.数字字符串跟字符串为相等。 2.非数字字符串跟数字或数字字符想比,则会将非数字字符串转化为数字。一般转化为0. 3.非数字字符比较,则为纯字符串之间的比较。 4.做运算的时候,true==1,false==0; 5.关于false 打印。一般false打印为空。但是实际上 他返回的是bool类型的false。 <div style="background:#f0f0f0;text-align:center;font-size:12px;padding:20px"> © 2017-版权 杜二红 如要转载,请注明出处! </div>