PHP基础――数据类型之间的相互转换

时间:2021-08-08 17:52:50

1.自动转换类型:

 自动转换,通常发生在不同数据类型的变量进行混合运算时。一般只有四种标量类型int、float、string、bool才会进行自动转换。

 注:

  • 布尔型参与运算,true转换为1,false转换为0;

  • null参与运算,转换为0

  • int与float参与运算,先把int转换成float在运算。

  • 字符串、数字参与运算,字符串先转换成数字。转换后的数字从字符串开始的数值开始,不带小数点则为int,否则为false。字符串"abcsd"直接转换成0;

2.强制类型转换:

 强制转换方法:

  • 在转换的变量前加上目标类型,包括(int)、(bool)、(float)、(string)、(array)、(object)

  • 使用内置转换函数intval()、floatval()、strval()

 以上两种方法均没有改变被转换变量本身的类型,而是转换得到新的类型数据值给变量,原始变量的类型和值不变。

  • setType();会将变量本身类型改变成其他类型。


注意:

  • 类型转换中浮点型转换成整型,会舍弃小数部分,只保留整数。

  • 字符串转换为数字时,转换后的数字是从字符串开始部分的数值型字符部分转换的。


3.变量类型的内置测试函数:

  • gettype();确定变量类型,并返回一个包含名称的字符串。

  • is_bool():判定是否为bool

  • is_int();判定是否为整型

  • is_float():判定是否为浮点型

  • is_string():判定是否为字符串

  • is_array();判定是否为数组

  • is_object():判定是否为对象

  • is_resource():判定是否为资源

  • is_null():判断是否为空

  • is_scalar():判断是否为标量

  • is_numeric():判断是否为数字或数字字符串

  • is_callable():判断是否为有效函数名