php布尔型数据类型以及流程控制的数据类型转换
2013-01-31 16:59
549 查看
布尔型是最简单的数据类型。可以为TRUE或者FALSE,关键字不区分大小写。
要显式的将一个值转换为布尔型,用(bool)或者(boolean)来强制转换。php在许多情况下,会进行自动类型转换,尤其在流程控制语句的条件表达式计算时。
当转换为布尔值,以下值被认为是false:
1)布尔值false;
2)整型值0(零);
3)浮点型值0.0(零);
4)空白字符串和字符串“0”;
5)没有成员变量的数组;
6)没有单元的对象(仅适用于PHP4);
7)特殊类型NULL(包括尚未设定的变量);
除此之外,所有其他值都被认为是true(包括任何资源)。
可以通过以下程序例子进行测试:
做开发过程中,在条件判断时,一定要注意布尔值类型默认转换的隐性危险。
下面的题目是关于这方面的:
要显式的将一个值转换为布尔型,用(bool)或者(boolean)来强制转换。php在许多情况下,会进行自动类型转换,尤其在流程控制语句的条件表达式计算时。
当转换为布尔值,以下值被认为是false:
1)布尔值false;
2)整型值0(零);
3)浮点型值0.0(零);
4)空白字符串和字符串“0”;
5)没有成员变量的数组;
6)没有单元的对象(仅适用于PHP4);
7)特殊类型NULL(包括尚未设定的变量);
除此之外,所有其他值都被认为是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.3e6); //bool(true) var_dump((bool) array(10)); //bool(true) var_dump((bool) array()); //bool(false) var_dump((bool) "false"); //bool(true) ?>
做开发过程中,在条件判断时,一定要注意布尔值类型默认转换的隐性危险。
下面的题目是关于这方面的:
<?php /*习题*/ /*1。写出下列代码的运行结果*/ if(5<4) echo "true"; else echo "false-1"."<br />"; if("0") echo "true"; else echo "false-2"."<br />"; if($i) echo "true"; else echo "false-3"."<br />"; if("false") echo "true"; else echo "false-4"."<br />"; if(false) echo "true"; else echo "false-5"."<br />"; if(0.0) echo "true"; else echo "false-6"."<br />"; if(php) echo "true"; else echo "false-7"."<br />"; if("") echo "true"; else echo "false-8"."<br />"; if(null) echo "true"; else echo "false-9"."<br />"; if(array(12)) echo "true"; else echo "false-10"."<br />"; if(array()) echo "true"; else echo "false-11"."<br />"; /* 输出结果: false-1 false-2 false-3 true false-5 false-6 true false-8 false-9 true false-11 分析:if语句当条件不满足(即条件表达式计算结果为false)都会返回假。php的if语句没有then,有elseif(同else if) 当转换为boolean时候,以下值被认为是false: 1)布尔值false; 2)整型值0(零); 3)浮点型值0.0(零); 4)空白字符串和字符串“0”; 5)没有成员变量的数组; 6)没有单元的对象(仅适用于PHP4); 7)特殊类型NULL(包括尚未设定的变量); */ ?>
相关文章推荐
- php流程控制语句以及条件判断中的数据类型转换
- php总结2——php中的变量、数据类型及转换、运算符、流程控制中的分支结构
- php学习基础篇之数据类型转换、运算符、if 、switch 流程控制
- JAVA基础初探(一)核心概念(JVM,JDK,JRE)、流程控制语句、基本数据类型、关键字、标识符、常量与变量、类型转换、Debug处理
- PHP第五课 自己主动类型转换与流程控制
- PHP第五课 自动类型转换与流程控制
- (3)JavaScript基础(基本语法:变量与数据类型、类型转换、运算符、流程控制、函数、对象、自定义对象、原型)
- java 数据类型及作用域、数据类型转换、运算符、流程控制
- php基础系列----3数据类型及运算和流程控制
- javaScript笔记 (三) 数据类型转换 和 操作符、流程控制
- Oracle plsql 基础篇1 数据类型以及流程控制
- 三、数据类型转换、运算符、流程控制、字符集
- java包的使用、数据类型以及运算符,流程控制
- PHP数据类型转换(字符转数字,数字转字符)
- PHP中数据类型转换的三种方式
- JavaScript数据类型以及数据类型转换
- php不同类型数据的转换
- Java中的移位操作以及基本数据类型转换成字节数组【收集】
- java程序:数据类型 流程控制语句 操作符
- PHP数据类型转换(字符转数字,数字转字符)