数据类型 - 尼农小道
数据类型
PHP中有三种数据类型:标量数据类型、复合数据类型、特殊数据类型
PHP中一种弱数据类型语言,php中的一个变量可以存储任意类型的数据。变量类型由数据来决定。
强数据类型语言:
强数据类型语言的特点是在使用一个变量之前,必须根据变量即将存储的数据的类型来,将该变量声明为此种类型的变量。
Java示例:
定义一个变量用于存储整型数据
int v1 = 100
v1 = 'one' //马上报错
PHP弱数据类型的语言:
特点,变量可以存储任意数据类型。
php示例:
定义一个变量用于存储整型数据
$v1 = 100;
$v1 = 'one';
标量数据类型
整型(int、integer)
整型的值就是集合(...-2,-1,0,1,2,3....)中的一个值。
整型所占字节是4个(4表示的是并不是十进制中的4位,而是二进制中32位)
整型最大的表示范围:2147483647
原理:
(01111111111111111111111111111111)2=(2147483647)10
整型的值还可以是八进制、十六进制
八进制:以0开头,数字不能大于7
十六进制:以0x开头,数码包含0至9、A(10)、B、C、D、E、F(15)
示例:
可以使用printf()函数用于格式化输出数据
语法:
printf('格式字符串',数据列表)
说明:
格式字符串中可以包含一些占位符:
%d 十进制
%b 二进制
%o 八进制
%x 十六进制
示例1:
示例2:
小数型(float)
带有小数点的数即为小数型(也称之为精度型),PHP对于小数型又进行划分,分为单精度(float\single)与双精度(double)
float类型
double类型
类型 |
字节 |
最小值 |
最大值 |
Float |
4 |
-3.402823466E+38 |
3.402823466E+38 |
Double |
8 |
-1.7976931348623157E+308 |
1.7976931348623157E+308 |
整型 4字节(32个二进制位) 最大表示 2147483647
float 4字节(32个二进制位) 3.402823466E+38
IEEE组织规定(Institude Electrical Electroncity Engineer)
浮点数的约束:
0 000 0000 0 000 0000 0000 0000 0000 0000
0sign符号位 1位 0表示正数 1表示负数
000 0000 0 exponent指数位 有8位
000 0000 0000 0000 0000 0000有效数据位Mantisa 23位
指数位与有效数据位都是0是表示数据0,如下:
000 0000 0 000 0000 0000 0000 0000 0000
指数位都是1,且有效数据位都为0表示数据无穷大,如下:
111 1111 1 000 0000 0000 0000 0000 0000
指数位都是1,有效数据位都为非零表示数据null,如下:
111 1111 1 000 0000 0000 0000 0000 0000
表示的数据范围:由指数位与有效数据位共同决定
指数位:
11111110 254 还要减去127 127
2的127次方式 十进制数=> 1.7014118346046923e+38
有效数据位:
在有效数据位之前有一个隐藏的1
000 0000 0000 0000 0000 0000
1.11111111111111111111111 十进制数=>1.99999999999(约等于2)
指数位乘以有效数据位:
1.7014118346046923e+38*2 约等于3.402823466E+38
示例:
boolean布尔类型:
主要用于表示事物仅存的两个状态,对、错,真假
取值:
true 表示成立
false 表示不成立
布尔类型的值本身没有什么意义,主要用于流程控制。
字符串
0个或多个字符的集合
字符定义方式:
方法1:
使用单引号定义的字符串
方法2:使用双引号定义的字符串
方法3:定界字符串
语法:
$v1 =
内容
定界符结束;
示例:
注意:
定界符的开始标记与结束标记要一致
结束标记前不能有空格
定界符就可以理解为html编辑器。
定界符可以分为两类:heredoc与nowdoc
heredoc的语法:
语法:
$v1 =
内容
定界符结束;
nowdoc的语法:
语法:
$v1 =
内容
定界符结束;
示例:
注意:
单引号与双引号的使用,一般如果字符串没有变量使用单引号(效率会高)。
复合数据类型
array(数组)
数组主要用于存储,多个具有一定的关系数据(变量)
示例:
object(对象)PHP高级
特殊数据数据类型:
resource(资源类型)
资源类型也量一种特殊的变量,程序员不能对资源类型进行任何的操作,只能查看(var_dump),
资源类型只能通过PHP为我们提供的特殊的函数来创建。
资源类型主要用于表示php的扩展资源(PHP之外的数据),例如:一个数据连接,一个数据表的结果集,一个外部文本文件等。
null(空)
null也是一种PHP中的特殊的变量,表示null,一般查看一个没定义的变量,或变量的被unset()。