3、PHP 数据类型

  • 数据类型

变量的数据类型分为强数据类型和弱数据类型。

如果一个变量的类型取决于存放值的类型,这种语言称为弱数据类型语言。

如果声明变量是A类型,就不能存放B类型的数据,这种语言称为强数据类型语言。

PHP和JS都属于弱数据类型。

  • 标量类型:

数据类型描述
整型(integer)-2^31~2^31-2
浮点型(float) 
布尔型(boolean) 
字符串型(string) 

1、整型

十进制

2、进制转换:

计算机中支持十进制、二进制、八进制、十六进制(0-9,A,B,C,D,E,F)。

例:

1、十进制0.2转换二进制

2、八进制123转成十进制

1*8^2+2*8^1+3*8^0

3、十六进制FF转成十进制

15*16^1+15*16^0=255

4、9转成二进制(反向取余)

3、PHP提供了一些函数来做进制转换

进制缩写单词
十进制decdecimalist
八进制octoctonary
二进制binbinary
十六进制hexhexadecimal

4、PHP变量中可以存储十进制、八进制、十六进制

八进制用八进制用0表示

5、浮点数(小数,也叫单精度):float

在PHP中,float和double是一样的。

浮点数转成二进制是乘2正向取整,可能会一直循环下去,所以浮点数保存的值是近似值。

注:在其他的语言如c,java,C#中浮点数有两种,一种是单精度(float),一种是双精度(double),双精度的范围比单精度要广。

注:不能用浮点数做比较。如:

如果要比较浮点数,通过bccomp(值1,值2,比较的小数位数)函数比较,如果两个数相同就返回0,如果左边的大于右边的就返回1,反之返回-1。如:

浮点数的范围比整型大:

理论上,浮点数的最大值是1.8E+308(1.8*10^308)

注:浮点数的精度有效位数是14位

6、布尔型(boolean)

布尔型就是true和false

打印布尔型使用var_dump()

7、字符串型

在Js中,字符串有单引号和双引号字符串一样的。

在PHP,如果字符串内没有变量,单引号和双引号显示的结果是一样的。

如果有变量,双引号中的变量要解析:

注:单引号是真正的字符串,双引号要做运算(将字符串中的变量替换成值),因为双引号要运算,单引号不需要运算,所以单引号的执行效率比双引号要高。

解决方法:可以将$name放到“{}”里面,{与$紧靠一起时“{}”不会显示,不分先后,紧靠一起就行。

8、转义字符

将具有特殊含义的字符转成普通字符

注:转义字符后面如果是特殊字符,将特殊字符转成普通字符,如果后面是普通字符,转义字符就是一个普通字符

转义字符和r,n,t组合时,/r表示回车,/n表示换行,/t表示制表符。

9、ASCII

计算机内部是用二进制计算。键盘上的每个字符都有一个编码和它对应,这个编码就是ASCII码

ASCII码用7位的二进制来表示,可以表示2^7个字符(128个)

ASCII是连续的。

小写字母比大写字母的大。   a>A

小写字母和大写字母之间相差32.      a-A=32

ord()将字符转成十进制ASCII码

chr()将十进制的数字转成字符

“\”可以转义ASC码

10、使用定界符

作用:为输出大量的文本并且不用频繁地转义提供了简单的方法

开始和结束的定界符必须一样,名字由字符、数字、下划线组成,不能以数字开头

开启标识符前面三个小于号“<<<”

结束标识符必须顶格写,前面不能有空格和其他字符 ,标识符的后面也不能有空格。

字符串定界符分为heredoc和nowdoc

heredocnowdoc

 

heredoc相当于是双引号字符串,nowdoc相当于单引号字符串。

  • 复合数据类型

一、数组:计算机内存中一段连续的空间

1、索引数组

通过元素的位置作下标

2、关联数组

数组的值和一个字符串做关联,形成一个键值对。

二、数组的声明

方法1:变量=array();

方法2:通过[ ]的方式

默认情况下:在索引数组中,第一个元素的下标是0,后面依次加1。

例:

数组下标:

三、extract()

从数组中将变量导入到当前的符号表中,键名做变量名,键值做变量的值

四、数组的分类

1、按照元素的键值关系分为:

a、索引数组:通过元素的位置作下标

b、关联数组:通过字符串作下标,键和值存在某种关联。

注:不能按照键的数据类型来判断是否是索引还是关联数组,必须看下标和值关联关系,如:$stu=array(1=>'tom',2=>'berry')  属于关联数组,因为下标不是表示值的位置。

2、按照数组的结构分为:

a、一维数组

b、多维数组:二维以上

注:php中的二维数组和强数据类型不一样,它不是一个二维表,php数组的分类是应用层面的分类,不是php语言本身的分类。

  • 特殊类型

一、资源:

php引用的外部数据

资源只能获取,不能创建

资源也有类别的,如连接资源,数据流资源。

二、NULL

表示没有定义的变量

NULL不区分大小写

调用一个没有返回值的函数,默认返回NULL

 

 

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值