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


Posted in PHP onApril 28, 2012

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 相关文章推荐
PHP 高手之路(一)
Oct 09 PHP
php zend解密软件绿色版测试可用
Apr 14 PHP
php checkdate、getdate等日期时间函数操作详解
Mar 11 PHP
深入探讨:Nginx 502 Bad Gateway错误的解决方法
Jun 03 PHP
php header功能的使用
Oct 28 PHP
将php数组输出html表格的方法
Feb 24 PHP
thinkphp连贯操作实例分析
Nov 22 PHP
PHP正则表达式匹配替换与分割功能实例浅析
Feb 04 PHP
php file_get_contents取文件中数组元素的方法
Apr 01 PHP
Docker搭建自己的PHP开发环境
Feb 24 PHP
PHP获取对象属性的三种方法实例分析
Jan 03 PHP
解决tp5在nginx下修改配置访问的问题
Oct 16 PHP
PHP 第一节 php简介
Apr 28 #PHP
PHP原生模板引擎 最简单的模板引擎
Apr 25 #PHP
php实现rc4加密算法代码
Apr 25 #PHP
PHP filter_var() 函数 Filter 函数
Apr 25 #PHP
iis下php mail函数的sendmail配置方法(官方推荐)
Apr 25 #PHP
php判断变量类型常用方法
Apr 24 #PHP
介绍一些PHP判断变量的函数
Apr 24 #PHP
You might like
一步一步学习PHP(1) php开发环境配置
2010/02/15 PHP
php+xml结合Ajax实现点赞功能完整实例
2015/01/30 PHP
php 多继承的几种常见实现方法示例
2019/11/18 PHP
用javascript获取地址栏参数
2006/12/22 Javascript
css配合jquery美化 select
2013/11/29 Javascript
用js设置下拉框为只读的小技巧
2014/04/10 Javascript
jQuery()方法的第二个参数详解
2015/04/29 Javascript
Jquery结合HTML5实现文件上传
2015/06/25 Javascript
基于 Node.js 实现前后端分离
2016/04/23 Javascript
Node.js 如何利用异步提升任务处理速度
2019/01/07 Javascript
Vue Prop属性功能与用法实例详解
2019/02/23 Javascript
通过seajs实现JavaScript的模块开发及按模块加载
2019/06/06 Javascript
SpringBoot+Vue 前后端合并部署的配置方法
2020/12/30 Vue.js
python threading模块操作多线程介绍
2015/04/08 Python
python select.select模块通信全过程解析
2017/09/20 Python
python字典快速保存于读取的方法
2018/03/23 Python
使用anaconda的pip安装第三方python包的操作步骤
2018/06/11 Python
Python中创建二维数组
2018/10/17 Python
Form表单及django的form表单的补充
2019/07/25 Python
Python使用qrcode二维码库生成二维码方法详解
2020/02/17 Python
python GUI库图形界面开发之PyQt5信号与槽机制、自定义信号基础介绍
2020/02/25 Python
Django利用elasticsearch(搜索引擎)实现搜索功能
2020/11/26 Python
简单掌握CSS3中resize属性的用法
2016/04/01 HTML / CSS
Html5之title吸顶功能
2018/06/04 HTML / CSS
英国一家专门出售品牌鞋子的网站:Allsole
2016/08/07 全球购物
次世代生活态度:Hypebeast
2018/07/05 全球购物
澳大利亚领先的女性运动服品牌:Lorna Jane
2020/06/19 全球购物
会计自我鉴定
2013/11/02 职场文书
农村婚礼证婚词
2014/01/08 职场文书
学习2014年全国两会心得体会
2014/03/12 职场文书
食品安全承诺书
2014/05/22 职场文书
2015年护理工作总结范文
2015/04/03 职场文书
2015年市场部工作总结
2015/04/30 职场文书
2016年国陪研修感言
2015/11/18 职场文书
看古人们是如何赞美老师的?
2019/07/08 职场文书
JavaScript中document.activeELement焦点元素介绍
2021/11/27 Javascript