数据类型

数据类型

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对于小数型又进行划分,分为单精度(floatsingle)与双精度(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()。

原文地址:https://www.cnblogs.com/nyxd/p/5354939.html