两种不同数据类型之间的php算术运算

时间:2014-02-10 11:16:29

标签: php

首先,我是新来的。

我需要你的所有帮助

下面的

是我的编码

<?php


 $a=1; 
 $b="hello";

$c=$a+$b."<br>"; 
$d=$b+$a."<br>";

 echo $c; 
 echo $d;
?>

输出

1

1

我需要知道发生了什么 为什么答案在两个方面都是1 php中的数据类型是否有任何优先级

2 个答案:

答案 0 :(得分:0)

此方案另外称为 Type-Juggling

当您使用加法运算符时,变量$b="hello";将转换为int(在本例中它将为0)。如果变量为$b="2hello";,则您的输出将为 3

请参阅此代码。

<?php
$foo = "0";  // $foo is string (ASCII 48)
$foo += 2;   // $foo is now an integer (2)
$foo = $foo + 1.3;  // $foo is now a float (3.3)
$foo = 5 + "10 Little Piggies"; // $foo is integer (15)
$foo = 5 + "10 Small Pigs";     // $foo is integer (15)
?>

PHP Manual

答案 1 :(得分:0)

您的$a是一个整数,$b是一个字符串。将整数添加到字符串时,字符串将转换为整数。在您的情况下,$b = "hello"将转换为整数0