温故知新(一):PHP数据类型

来源:互联网 发布:知乎 mobi 编辑:程序博客网 时间:2024/05/16 01:15

开篇

昨天突然忘掉了substr内的参数位置,十分惶恐,遂决定把PHP基础细节给看一遍,用以温固PHP之技术!优秀的代码应具备健壮性,扩展性,速度,安全 ,但写出优秀的代码,需要对PHP的一些细节有一定认识

整形细节(int)

在PHP中整形数据可以使用八进制,十进制,十六进制表示;

$a = 0123; //输出变量 a=83   3*8的0次方+2*8的1次方+1*8的二次方$b = 123;  //b=123  3*10的0次方+2*10的1次方+1*10的3次方$c = 0x1A; //变量c= 10+16 =26  A*16的0次方+1*16的1次方;

在PHP中一个整数一般占用4个字节(32位),与平台(windows,linux,x86,x64不尽相同)相关,一个字节占用8位(bit);如图:
这里写图片描述

可通过函数 PHP_INT_SIZE 查看本环境下 一个占用多少空间
可通过函数 PHP_INT_MAX 查看本环境下支持的最大整数
如果一个整数超出int范围 将会自动转换成floalt类型
PHP中所有整数都是有符号的(最高位非0即1)

如果需将整形转换位二进制 可用 decbin(int)函数

布尔(bool)

布尔型相对来说比较简单,自身只有 true 与 false两个属性,有以下集中情况会被当做false对待:

  1. 布尔值 false 自身
  2. 整型值 0
  3. 浮点值 0.0
  4. 空字符串 “” (没有空格)
  5. 空数组
  6. 空对象
  7. 特殊类型 NULL(包括未定义的变量)

浮点值(float)

PHP中把float(单精数),double(双精数)整合到浮点值中,所以称呼上不区分
精度要从左边第一个非零值开始算
32位 最大是 14位 64的没做测试

字符串(string)

通常一个字母 占用1个字节
理论上,php对字符串的长度的限制,取决于你的内存大小( 即 无限制)

” 单引号 不解析特殊字符 速度稍快
一般作用在大段html代码输出,在没有特殊字符时,尽量使用单引号

“” 双引号 解析一些特殊字符 速度稍慢
一般用作解析特殊字符,变量,或者拼凑sql与局势比较方便

//字符串与整形的运算 以该字符串内第一个有效整形计算  例:$a = '1a2b3c';$b = 1;echo $a+$b;  //输出2  即1+1  int型

结语

关于数据类型的细节就先到这里.感觉自己又有提高!MarkDown还不太熟练

0 0
原创粉丝点击