首页 > 编程 > PHP > 正文

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

2019-11-11 04:54:35
字体:
来源:转载
供稿:网友

自动类型转换:

布尔值参与运算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 type	is_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什么都不输出


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表