q456123 发表于 2018-12-15 08:10:30

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

  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():判断是否为有效函数名

  

  




页: [1]
查看完整版本: PHP基础——数据类型之间的相互转换