PHP 第二节 数据类型之数值型

2015-01-24信息快讯网

编程语言的两大功能是数据处理和流程控制;数据处理的基础是数据类型和数据接口;流程控制是各种控制语句;程序的组织协调是各种编程范式;这一节先看下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"
  • 不包括任何元素的数组
  • 不包括任何成员变量的对象(仅PHP 4.0 适用)
  • 特殊类型 NULL (包括尚未设定的变量)
  • 从没有任何标记(tags)的XML文档生成的SimpleXML 对象

所有其它值都被认为是 TRUE(包括任何资源)。

integer数据类型:

整型值可以使用十进制,十六进制或八进制进行表示,前面可以加上可选的符号(- 或者 +)。

八进制表示数字前必须加上 0(零),十六进制表示数字前必须加上 0x

整型数的字长和平台有关,尽管通常最大值是大约二十亿(32 位有符号)。PHP 不支持无符号整数。Integer值的字长可以用常量PHP_INT_SIZE来表示,自 PHP 4.4.0 和 PHP 5.0.5后,最大值可以用常量PHP_INT_MAX来表示。

如果给定的一个数超出了 integer 的范围,将会被解释为 float。同样如果执行的运算结果超出了 integer 范围,也会返回 float

PHP 中没有整除的运算符。1/2 产生出 float 0.5。可以总是舍弃小数部分,或者使用 round() 函数。

要明确地将一个值转换为 integer,用 (int)(integer) 强制转换。不过大多数情况下都不需要强制转换,因为当运算符,函数或流程控制需要一个 integer 参数时,值会自动转换。还可以通过函数 intval() 来将一个值转换成整型。

布尔值转换,FALSE 将产生出 0(零),TRUE 将产生出 1(壹)。

浮点数转换,当从浮点数转换成整数时,将向零取整。如果浮点数超出了整数范围(通常为 +/- 2.15e+9 = 2^31),则结果不确定,因为没有足够的精度使浮点数给出一个确切的整数结果。在此情况下没有警告,甚至没有任何通知!

float数据类型

浮点数的字长和平台相关,尽管通常最大值是 1.8e308 并具有 14 位十进制数字的精度(64 位 IEEE 格式)。

显然简单的十进制分数如同 0.10.7 不能在不丢失一点点精度的情况下转换为内部二进制的格式。这就会造成混乱的结果:例如,floor((0.1+0.7)*10) 通常会返回 7 而不是预期中的 8,因为该结果内部的表示其实是类似 7.9

这和一个事实有关,那就是不可能精确的用有限位数表达某些十进制分数。例如,十进制的 1/3 变成了 0.3

所以永远不要相信浮点数结果精确到了最后一位,也永远不要比较两个浮点数是否相等。如果确实需要更高的精度,应该使用任意精度数学函数或者 gmp 函数。

解析php中static,const与define的使用区别
解析php中const与define的应用区别
php 模拟GMAIL,HOTMAIL(MSN),YAHOO,163,126邮箱登录的详细介绍
解析php中memcache的应用
PHP实现的封装验证码类详解
深入Memcache的Session数据的多服务器共享详解
php读取二进制流(C语言结构体struct数据文件)的深入解析
PHP数据类型的总结分析
PHP在不同页面间传递Json数据示例代码
如何利用php array_multisort函数 对数据库结果进行复杂排序
浅谈PHP强制类型转换,慎用!
浅谈PHP与C#的值类型指向区别的详解
php笔记之:数据类型与常量的使用分析
PHP数据类型之整数类型、浮点数的介绍
PHP数据类型之布尔型的介绍
PHP 第二节 数据类型之转换
PHP 第二节 数据类型之字符串类型
PHP 第一节 php简介
PHP原生模板引擎 最简单的模板引擎
php实现rc4加密算法代码
PHP filter_var() 函数 Filter 函数
iis下php mail函数的sendmail配置方法(官方推荐)
php判断变量类型常用方法
PHPMYADMIN导入数据最大为2M的解决方法
php入门之连接mysql数据库的一个类
PHP 杂谈《重构-改善既有代码的设计》之三 重新组织数据
PHP 在5.1.* 和5.2.*之间 PDO数据库操作中的不同之处小结
数据库中排序的对比及使用条件详解
利用PHP实现智能文件类型检测的实现代码
PHP文件上传后缀名与文件类型对照表整理
php header Content-Type类型小结
php中关于codeigniter的xmlrpc的类在进行数据交换时的类型问题
php学习之数据类型之间的转换介绍
PHP 八种基本的数据类型小结
php学习之数据类型之间的转换代码
对text数据类型不支持代码页转换 从: 1252 到: 936
©2014-2024 dbsqp.com