PHP学习——数据类型之间相互转换

来源:互联网 发布:梦幻西游mac快捷键 编辑:程序博客网 时间:2024/06/05 16:14

自动类型转换:

布尔值参与运算TRUE转换成整形1,FALSE转换成整形0。

NULL值参与运算时,转换成整形1。

integer和float运算时将integer转换成float

字符串和数值型数据参与运算时“123abc”转换成整形123,“123.45abc”转换成浮点型123.45,“abc”转换成整形0。


强制类型转换:

1:

<?php        $foo=10;$bar=(boolean)$foo;var_dump($bar);


2:

用转换函数转换变量的类型:

<?php    $str="123.45abc";        //声明一个字符串$int=intval($str);       //获取变量$str的整形值123$float=floatval($str);   //获取变量$str的浮点值123.45$str=strval(123.45);     //得到字符串值"123.45"


3:

以上两种都没有改变变量本身的类型

<?php    $a="123abc";$b="123abc";$c=123;settype($a,"int");settype($b,"bool");settype($c,"string");var_dump($a);var_dump($b);var_dump($c);
显示为:

int 123boolean truestring '123' (length=3)

注意:自PHP5起,如果试图将对象转换成浮点数,将会发出一条E_NOTICE错误0


类型转换细节:如果一个浮点数超过整型数字的有效范围,其结果是不确定的,C++中是取模。


变量类型的测试函数:

gettype();//返回包含名称的字符串,如果不是8种标准类型之一,返回unknow typeis_bool();is_int();is_float();is_float();is_array();is_object();is_resource();//是否是资源类型is_null();is_scalar();//是否是一个标量,也就是整数、浮点数、布尔型、字符串is_numeric();//是否是任何类型的数字或数字字符串is_callable();//是否是有效的函数名


注意:
<?php    $a=true;$b=false;echo $a;echo $b;
输出1,

TRUE输出1,FALSE什么都不输出


0 0
原创粉丝点击