标题 | PHP第二节数据类型之数值型 |
范文 | PHP支持8种基本的数据类型。 四种标量类型: boolean(布尔型) integer(整型) float(浮点型,也称作double) string(字符串) 两种复合类型: array(数组) object(对象) 最后是两种特殊类型: resource(资源) NULL(NULL) boolean数据类型: 取值只能为True或者False,当其他类型转化为boolean类型时,以下值被认为是FALSE: the布尔值FALSE自身 the整型值0(零) the浮点型值0.0(零) 空字符串,以及字符串"0" 不包括任何元素的数组 不包括任何成员变量的对象(仅PHP4.0适用) 特殊类型NULL(包括尚未设定的变量) 从没有任何标记(tags)的XML文档生成的SimpleXML对象 所有其它值都被认为是TRUE(包括任何资源)。 integer数据类型: 整型值可以使用十进制,十六进制或八进制进行表示,前面可以加上可选的符号(-或者+)。 八进制表示数字前必须加上0(零),十六进制表示数字前必须加上0x。 整型数的字长和平台有关,尽管通常最大值是大约二十亿(32位有符号)。PHP不支持无符号整数。Integer值的字长可以用常量PHP_INT_SIZE来表示,自PHP4.4.0和PHP5.0.5后,最大值可以用常量PHP_INT_MAX来表示。 如果给定的一个数超出了integer的范围,将会被解释为float。同样如果执行的运算结果超出了integer范围,也会返回float。 PHP中没有整除的运算符。1/2产生出float0.5。可以总是舍弃小数部分,或者使用round()函数。 要明确地将一个值转换为integer,用(int)或(integer)强制转换。不过大多数情况下都不需要强制转换,因为当运算符,函数或流程控制需要一个integer参数时,值会自动转换。还可以通过函数intval()来将一个值转换成整型。 从布尔值转换,FALSE将产生出0(零),TRUE将产生出1(壹)。 从浮点数转换,当从浮点数转换成整数时,将向零取整。如果浮点数超出了整数范围(通常为+/-2.15e+9=2^31),则结果不确定,因为没有足够的精度使浮点数给出一个确切的整数结果。在此情况下没有警告,甚至没有任何通知! float数据类型 浮点数的字长和平台相关,尽管通常最大值是1.8e308并具有14位十进制数字的精度(64位IEEE格式)。 显然简单的十进制分数如同0.1或0.7不能在不丢失一点点精度的情况下转换为内部二进制的格式。这就会造成混乱的结果:例如,floor((0.1+0.7)*10)通常会返回7而不是预期中的8,因为该结果内部的表示其实是类似7.9。 这和一个事实有关,那就是不可能精确的用有限位数表达某些十进制分数。例如,十进制的1/3变成了0.3。 所以永远不要相信浮点数结果精确到了最后一位,也永远不要比较两个浮点数是否相等。如果确实需要更高的精度,应该使用任意精度数学函数或者gmp函数。。 |
随便看 |
|
在线学习网范文大全提供好词好句、学习总结、工作总结、演讲稿等写作素材及范文模板,是学习及工作的有利工具。