传智播客PHP学习笔记第三天6页

相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

时间戳表示时间的方法,

从某一个时刻(1970-1-1 0:0:0)开始,到当前,没过一秒,数加1;

这个数据也是在计算机内采用一个整型数据来表示的。

浮点数:双精度数。

定义浮点数可以采用科学计数法

//在描述的时候,通常

Number = int + float

特别注意:由于使用浮点数时需要表示精度,因此有些数据在保存的时候,会丢失精度。所以不要通过判断两个浮点数是否相等来获得业务逻辑。

字符串:

定义字符串

单引号

使用单引号包含需要定义的字符串内容即可:

双引号:

单引号与双引号的根本区别在于,是否可以解析字符串内部的变量。

双引号可以解析,而单引号不行。

因此双引号的解析速度要低于单引号的解析速度,能够使用单引号就尽量使用单引号。

如果使用单引号定义时,需要定义的字符串内部包含单引号

碰到这个情况,应该转义内部的引号:

究竟哪个变量会被解析?

是否能被解析取决于是单引号还是双引号定义的:

如果在解析变量时不能清晰的区分变量名,那么不能正确的识别需要解析的变量:

可以在需要解析的变量周围使用大括号包含起来:

大括号在双引号内,碰到$时,会去解析:

转义符号的使用\ 的使用:

如果在字符串的最后使用转义字符时:

需要将最后的转义字符\ 进行转义:

在双引号定义字符串时,转义字符还有特殊的含义,可以转义很多有其他含义的字符:

还可以转义8进制或者16进制数,所对应的ascii码内的字符:

a 97

A 65

除了单引号和双引号,还有两种定义字符串的方式:

当需要定义一个比较复杂的字符串时,此时单引号和双引号就略显乏力。

复杂:1,多行2,包含一些需要特殊处理的字符

Php还支持一种专门定义复杂字符的形式,定界符:

Heredoc nowdoc

<<<定界符的开始标记

字符串的内容

内容

定界符的结束标记

其中开始标记与结束标记应该一致

Heredoc

Nowdoc

Heredoc与nowdoc在形式上,只有开始的标签有区别,nowdoc的开始标签存在单引号。

在使用上,heredoc类似双引号可以解析内部的变量,而nowdoc不能解析内部的变量。

总结:如果单引号,双引号,定界符,都是为定义字符串而用。

强调,我们经常使用定界符的形式来定义html代码javascript代码字符串。

注意:关于定界符的结束标记:有个严格的要求

结束标记只能单独在一行,而且在此行不能存在其他字符。(必须定格写)

布尔类型

真假

布尔型只有2个值true 表示真false表示假,不区分大小写

有时可能会使用1 或者0 表示true或false。但是注意,1,0 是在运行时被转换成了true和false 1,0本身并没有真假的含义。

复合数据类型,一个数据表示多个值

无论数组还是对象多应该可以保存多个值。

数组:

是一组数据的集合。

如何使用数组内的某个值呢?如何定位一个数组内的元素。

数组是由元素组成的。

元素是由一个键值对来表示的。一个元素是由一个键对应上一个值来标志

我们是通过数组元素的键,来引用某个元素的值的。

定义一个数组:

采用array()的语言结构:

元素与元素之间采用逗号分割。而元素键与值之间使用=> 来表示

获得一个数组的元素的值:

利用中括号语法,来定位数组内的某个键值对:

我们可以通过中括号语法,获得某个数组元素的值,设置某个数组元素值,为数组增加元素,删除某个数组元素。

判断一个数组内是否存在某个元素:

创建数组的另外的形式:

元素的下标:

一个数组元素的下标只能是字符串型或者是整型。

我们在定义数组元素时,可以不指定元素下标:那么系统会为元素自动分配整型下标。整型的值是当前已存在的数组元素的最大的整型下标+1;默认是从0开始。

[]的额外用法:

字符串如果被看成是字符的集合的话,那么每一个字符就是字符串内的某个元素。

因此,我们在访问字符串时,可以通过中括号语法来获得字符串内的某个字符元素。

字符串的特殊性还在于:上面的中括号,还可以使用大括号来代替:

注意,以上的操作,下标的位置是从0开始,每个字节增加一个。

1111 1111 0000 0000 255 0

当一个字符串内的字符不是由单字节组成的话?

字符:我们看到的(汉字,英文字母,数字等等)

字节:8个bit位。

很多字符都是有多字节组成的:

例如

在utf8编码下汉字由3个字节组成。

康3个字节

中括号(大括号)获取某个字符元素的操作是有限制的,仅仅使用与所有的字符都是单字节字符的情况。

符gbk编码下一个汉字占用2个字节。

对象:

由于是集合数据类型,就应该至少提供保存多个值的能力。

除此之外,对象还可以有处理保存的数据的能力。

有时会将对象称之为有生命力的数组。

特殊数据类型

资源

在通过php去操作不完全属于PHP的资源时。例如数据库的连接管理,操作文件的管理。都会产生资源:

不能通过用户手动创建,而需要通过php的内置函数来获得资源。

同样都是资源型数据,但是也有类型之分:

NULL

NULL只有一个值就是NULL 不区分大小写。

表示什么都没有。

不是0

不是空字符串‘’;

当我们直接使用一个不存在的变量时:

当使用一个被unset掉了的变量时:

当为一个变量赋值为NULL时:

有时将一个对象赋值为null,用于销毁该对象。

伪类型:

在进行对程序的描述时,有时需要某些不存在的类型:

1,number 指的是整型和浮点型。

2,mixed类型:类型不确定,可能是多个类型之一:

3,callback,指的是期望的数据是一个可以被调用执行的函数。(回调)

4,callable,指的是期望的数据是一个可以被调用的结构。指的是一个对象的方法。(可调)类型转换:

为了保证程序的顺利执行,会在执行过程中,将数据向合适的类型做转换。转换的过程分成(强制,自动)。称之为类型转换;

其中:

强制类型转换:用户通过用户脚本将数据进行类型转换。(手动类型转换)

自动类型转换:不需要用户脚本参与系统将类型自动发生变化。

如何强制

(希望转换数据类型) 数据

希望转换数据类型

Bool

Int

float

String

Array

Object

unset

相关文档
最新文档