• 微信号
  • 微信号
目录

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'; 
?>

运行结果为

变量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); 
?>

运行结果

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); 
?>

运行结果

定义变量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); 
?>

运行结果