传智播客PHP学习笔记第三天
时间戳表示时间的方法, 从某一个时刻(1970-1-1 0:0:0)开始,到当前,没过一秒,数加1; 这个数据也是 在计算机内采用一个整型数据来表示的。 浮点数:双精度数。 定义浮点数可以采用科学计数法 //在描述的时候,通常 Number = int + float 特别注意:由于使用浮点数时需要表示精度,因此有些数据在保存的时候,会丢失精度。所以不要通过判断两个浮点数是否相等来获得业务逻辑。 字符串: 定义字符串 单引号 使用单引号包含需要定义的字符串内容即可: 双引号: 单引号与双引号的根本区别在于,是否可以解析字符串内部的变量。 双引号可以解析,而单引号不行。 因此双引号的解析速度要低于单引号的解析速度,能够使用单引号就尽量使用单引号。 如果使用 单引号定义时,需要定义的字符串内部包含单引号 碰到这个情况,应该转义内部的引号: 究竟哪个变量会被解析? 是否能被解析取决于 是单引号 还是 双引号定义的: 如果在解析变量时不能清晰的区分变量名,那么不能正确的识别需要解析的变量: 可以在需要解析的变量周围使用 大括号包含起来: 大括号 在双引号内,碰到$时,会去解析: 转义符号的使用 \ 的使用: 如果在字符串的最后使用转义字符时: 需要将最后的转义字符 \ 进行转义: 在双引号定义字符串时,转义字符还有特殊的含义,可以转义很多有其他含义的字符: 还可以转义 8进制或者16进制数,所对应的ascii码内的字符: a 97 A 65 除了单引号和双引号,还有两种定义字符串的方式: 当需要定义一个比较复杂的字符串时,此时 单引号和双引号就略显乏力。 复杂:1,多行2,包含一些需要特殊处理的字符 Php还支持一种专门定义复杂字符的形式,定界符: Heredoc nowdoc << 来表示 获得一个数组的元素的值: 利用中括号语法,来定位数组内的某个键值对: 我们可以通过中括号语法,获得某个数组元素的值,设置某个数组元素值,为数组增加元素,删除某个数组元素。 判断一个数组内是否存在某个元素: 创建数组的另外的形式: 元素的下标: 一个数组元素的下标 只能是 字符串型或者是 整型。 我们在定义数组元素时,可以不指定元素下标:那么系统会为元素自动分配 整型下标。整型的值是 当前已存在的数组元素的最大的整型下标+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, 指的是期望的数据是一个可以被调用的结构。指的是一个对象的方法。(可调) 类型转换: 为了保证程序的顺利执行,会在执行过程中,将数据向合适的类型做转换。转换的过程分成(强制,自动)。称之为类型转换; 其中: 强制类型转换:用户通过用户脚本将数据进行类型转换。(手动类型转换) 自动类型转换:不需要用户脚本参与系统将类型自动发生变化。 如何强制 (希望转换数据类型)