• 微信号
目录

php基础

您当前的位置:首页 > 我的笔记 > php基础>变量类型的转换

变量类型的转换

在对两个不同数据类型进行运算时,需要对变量的数据类型进项转换, 通常情况下变量的类型转换分为两种,非别是自动类型转换和强制类型转换

自动类型转换

所谓的自动类型转换就是变量的类型有php自动转换,我们无须做任何操作,在php中,最常见的自动类型转换情况有三种;分别是转布尔型、转整型、转字符型。

1.转换布尔型

在php中经常把一个值转换为布尔类型,很多情况下,系统会自动将其他类型转换为布尔型,当转换为布尔型时,有的值会被转为false,具体如下

  • 整型值0(零)
  • 浮点型0.00(零)
  • 空字符串,以及字符串“0”
  • 不包含任何元素的数组
  • 不包含任何成员变量的对象

案例代码如下

<?php
	//以下变量为false的情况
	$a=0;
	$b=0.0;
	$c= "";
	$d= "0";
	$e=array(); //数组类型
	$f=null; //一个空值
	//在if语句中,判断变量是否等于布尔值false,是则输出,否则无输出
	if($a==false) echo '<br/> 变量$a转换成布尔型为false';
	if($b==false) echo '<br/> 变量$b转换成布尔型为false';
	if($c==false) echo '<br/> 变量$c转换成布尔型为false';
	if($d==false) echo '<br/> 变量$d转换成布尔型为false';
	if($e==false) echo '<br/> 变量$e转换成布尔型为false';
	if($f==false) echo '<br/> 变量$f转换成布尔型为false';
	//变量为true的情况
	$x=3; //定义一个整型变量
	$y= 'hello'; //定义一个字符型变量
	if($x==true) echo '<br/> 变量$x转换成布尔型为true';
	if($y==true) echo '<br/> 变量$y转换成布尔型为true';
?>

运行结果为

php变量类型转换-自动转换为布尔类型

变量a、b、c、d、e、f分别定义了6个不同的变量,使用if判断语句判断变量的值是否为false,由于if语句中,只有判断成立才会输出后面的语句,变量x、y同理,判断值是否为true;

从结果可以看出变量a、b、c、d、e、f的值都转换为了false,而x、y都转化为了true

2. 转换成整型

在php中,除了可以将不同的数据转换成布尔型,还可以转化为整型,其中布尔型、浮点型和字符串型的变量转为整型方式如下:

(1) 布尔型转换成整型:布尔值true,转换成整型为1;布尔值false转化成整型为0;

(2) 浮点型转换成整型:浮点数转换成整型时,向下取整。

(3) 字符串型转换成整型:字符串的开始部分决定它的值。如果该字符串以合法的数值开始,则使用该数值否则其值为0(零)。合法的数值包括可选的正负号,后面更一个或多个数字(可能有小数点),在跟着可选的指数部分,指数部分由“e”或“E”后面跟着一个或多个数字构成,如果该字符串包含“.”“e”或“E‘”,则会被作为float来曲直;否则会作为整数来取值。

案例如下

<?php
	$a=true;
	$b=$a+1; //布尔类型的数与整形想加
	var_dump($b);
	echo '<br/>';
	//字符型转化成正想,1.5e2表示1.5*(10*10)
	$char1=1+"1.5e2"; //字符型数与整型相加
	var_dump($char1);
	echo '<br/>';
	$char2=1+"hello";//字符型数与整型数相加
	var_dump($char2);
	echo '<br/>';
	$char3=1+"10hello"; //字符型数与整型数相加
	var_dump($char3);
?>

运行结果

php变量类型转换-自动转换为整型 3.转化成字符串型

在php中,讲其他类型的数据转换为字符串型也是常见的,其中,将布尔型、整型、浮点型转换成字符串型如下

(1) 布尔型转换成字符串型:布尔值true转换成字符串型为”1”;布尔值false则为空字符””;

(2) 整型或浮点型转化成字符串型:把数字的字面样式转换成string形式

案例

<?php
	$a=true;
	echo $a;
	echo "<br/>";
	$b=3;
	$c=4.4;
	$d=$b.'string'.$c;
	var_dump($d);
?>

运行结果

php变量类型转换-自动转换为字符串型

定义变量a为布尔型,变量b为整型,变量c为浮点型,变量d的值是变量b‘string’和变量c连接起来;

变量a的值为1,说明布尔值被转换成了字符串“1”;

变量c的值为字符串“3string4.4”整型和浮点型数据按书面样式转换成string样式;

强制类型转换

在php中,变量数据类型不仅可以自动转换,还可以手动转换成指定的数据类型,即强制类型转换。

php中强制类型转换只需要在变量前加一个小括号,并把目标类型填入括号中。

强制类型 功能描述
(boolean) 强转为布尔型
(string) 强转为字符串型
(integer) 强转为整型
(float) 强转为浮点型
(array) 强转为数组
(object) 强转为对象

案例

<?php
	$number1=0;
	$float_number=(boolean)$number1; //将变量$number1强制转换为布尔型
	var_dump($float_number);
	echo "<br/>";
	$string="abcd";
	$tonumber=(int)$string; //将变量$string强制转换为整型
	var_dump($tonumber);
	echo "<br/>";
	$number2=1234;
	$tonumben2=(string)$number2; //将变量$number2强制转换为字符串型
	var_dump($tonumben2);
?>

运行结果

php变量类型转换-强制类型转换