PHP 类型

130 阅读2分钟

1. 类型

PHP 支持 9 种数据类型,包括 4 种标量类型、3 种复合类型、2 种特殊类型

标量类型:

布尔 boolean
整数 integer
浮点数 float
字符串 string

复合类型:

数组 array
对象 object
可调用 callable

特殊类型:

资源 resource
空 null

1.1. 布尔

TRUEFALSE
  • 不区分大小写
  • (bool) ‘0’ 等于 FALSE

1.2. 整数

可以用二进制数、八进制数、十进制数、十六进制数表示

二进制数:

0b___

八进制数:

0___

十进制数:

___

十六进制数:

0x___ 或 0X___

1.3. 浮点数

可以用小数、指数表示

小数:

___.___

指数:

___e______E___
  • 浮点数不能进行 == 或 === 比较

1.4. 字符串

可以用单引号、双引号、nowdoc 结构、heredoc 结构表示

单引号:

‘___’

双引号:

“___”

nowdoc 结构:

<<<‘定界符’
___
定界符

heredoc 结构:

<<<“定界符”
___
定界符

<<<定界符
___
定界符

1.5. 数组

$数组名 = array(
    键1 => 值1,
    键2 => 值2,
    ……
)

$数组名 = [
    键1 => 值1,
    键2 => 值2,
    ……
]

1.6. 对象

$对象名 = new 类名

1.7. 可调用

可以用函数、类的静态方法、对象的方法表示

函数:

function() {……}

‘函数名’

类的静态方法:

‘类名::静态方法名’

[‘类名’, ‘静态方法名’]

[$对象名, ‘静态方法名’]

对象的方法:

[$对象名, ‘方法名’]

1.8. 资源

1.9. 空

NULL
  • 不区分大小写
  • 变量为 NULL 的情况:
    • 被赋值为 NULL
    • 未被定义或未被赋值
    • 被注销定义:unset(变量)

2. 类型处理函数

2.1. 打印变量的类型和值

var_dump(变量1[, 变量2, …])

2.2. 获取变量的类型

gettype(变量)
  • 返回值:
boolean布尔
integer整数
double浮点数
string字符串
array数组
object对象
resource资源
NULL
  • 建议使用 is_xxx() 函数代替

2.3. 设置变量的类型

settype(&变量, 类型)
  • 类型:
bool 或 boolean布尔
int 或 integer整数
float浮点数
string字符串
array数组
object对象
null
  • 会改变变量本身的类型

2.4. 检测变量的类型

布尔is_bool(变量)
整数is_int(变量)
is_integer(变量)
浮点数is_float(变量)
is_double(变量)
is_real(变量)
字符串is_string(变量)
数组is_array(变量)
对象is_object(变量)
资源is_resource(变量)
is_null(变量)

2.5. 转换变量的类型

布尔boolval(变量)(bool)变量
(boolean)变量
整数intval(变量)(int)变量
(integer)变量
浮点数floatval(变量)
doubleval(变量)
(float)变量
(double)变量
(real)变量
字符串strval(变量)(string)变量
数组(array)变量
对象(object)变量
(unset)变量
  • 不会改变变量本身的类型