2019-03-11 PHP学习笔记之PHP的基本语法(2)

参考资料:《细说PHP》、《PHP、MySQL与JavaScript学习手册》

变量的类型

变量类型指保存在该变量中的数据类型。PHP是一种弱类型检查的语言,这意味着变量在使用前可以不被声明,PHP总是在访问变量时根据它们的内容将变量转换为相应的类型,具体什么类型由存放的内容决定。

类型介绍

PHP支持八种数据类型:

  • 4种标量类型
    1. 布尔型(boolean)
    2. 整型(integer)
    3. 浮点型(float, double)
    4. 字符串(string)
  • 2种复合类型
    1. 数组(array)
    2. 对象(object)
  • 2种特殊类型
    1. 资源(resource)
    2. NULL

如果想查看某个表达式的值和类型,可以使用函数var_dump()

布尔型

布尔型表达了“真”或“假”,在进行关系运算和布尔运算时,返回的都是布尔结果。

在PHP中布尔类型不只是有TRUE和FALSE两种结果。当需要一个布尔参数时,所有的值在PHP中都会自动转换成布尔类型的值。

在转换时,以下将被认为是FALSE,所有其他值都被认为是TRUE:

  • 布尔值FALSE
  • 整型值0
  • 浮点型值0.0
  • 空白字符串和字符串“0”
  • 没有成员变量的数组
  • 没有单元的对象(仅PHP4)
  • 特殊类型NULL
  • 尚未设定的变量

整型

整型变量用于存储整数。

整型变量不仅是在数据前加上可选的符号+或-表示正负数,也不仅有十进制数,还可以用十六进制(数字前必须加0x)和八进制数(数字前必须加0)来表示。

注意:PHP不支持无符号整数。如果一个数超过了整型的范围,将会被解释为float型,如果结果超出了整型的范围,也会返回float型。

浮点型

浮点数是含小数部分的数,通常用来表示整数无法表示的数据。

注意:浮点数只是一种近似的数值,所以浮点数的结果并没有精确到最后一位。如果确实需要更高的精度,应该使用任意精度数学函数或者gmp()函数。

字符串

字符串是一系列字符。在PHP中,字符和字节是一样的。

字符串可以使用单引号双引号定界符三种字面上的方法来定义。

单引号

指定一个字符串最简单的方法是用单引号括起来。在单引号中不能再包含单引号,否则会有错误发生。如果确实需要包含,需要使用反斜线\来转义。

在单引号字符串中出现的变量不会被变量的值替代,也就是说,PHP不会解析单引号中的变量,而是将变量名原样输出。

因此,如果没有特别的需求,应该使用单引号定义字符串。

双引号

双引号字符串最重要的一点就是其中的变量名会被变量值所替代,也就是说,可以解析双引号中的包含变量。

如果是复杂的语法,可以使用花括号括起一个表达式。例如:

例1 使用花括号括起一个表达式


定界符

给字符串定界还可以使用定界符"<<<"

应该在定界符之后提供一个标识符开始,然后是包含的字符串,最后是同样的标识符结束字符串。结束标识符必须从行的第一列开始,并且后面除了分号以外不能包含其他任何字符。

定界标记使用的标识符也必须遵循PHP中其他任何标签的命名规则。

注意:结束标识符所在的行不能包含任何其他字符,这意味着该标识符不能被缩进。在结束标识符前的第一个字符必须是操作系统中定义的换行符。

例2 使用定界符


注意:定界符不能初始化类的成员,其余与双引号相同。

数组

数组是PHP中一种重要的复合数据类型。

数组可以存放多个数据,并且可以存放任何类型的数据。

PHP中,可以使用多种方法构造一个数组。这里使用array()语言结构构造一个新的数组,它接受一定数量用逗号分隔的key=>value对。

例 3 定义一个数组

"bar", 12=>true);
?>

对象

对象和数组都是一种复合数据类型。

一个对象类型的变量,是由一组属性值和一组方法构成的,其中属性表明对象的一种状态,方法通常用来表明对象的功能。

要初始化一个对象,使用new语句将对象实例化到一个变量中。

资源类型

资源是一种特殊类型的变量,保存了到外部资源的一个引用。资源是通过专门的函数来建立和使用的。

NULL类型

NULL值表示一个变量没有值,NULL类型唯一可用的值就是NULL。

在下列情况下一个变量将被认为是NULL:

  • 将变量赋值为NULL
  • 声明的变量尚未被赋值
  • 被unset()销毁的变量

伪类型

伪类型并不是基本的数据类型,而是因为由于PHP是弱类型语言,所以在一些函数中,一个参数可以接受多种类型的数据,还可以接受别的函数作为回调函数的使用。

常用的伪类型如下:

  • mixed:一个参数可以接受多种不同的类型。
  • number:一个参数可以是integer和float。
  • callback:有些函数接受用户自定义的函数方法作为一个参数。

你可能感兴趣的:(2019-03-11 PHP学习笔记之PHP的基本语法(2))