PHP运算代码中出现的值感觉弄不明白,请帮忙解释。
程序员文章站
2024-01-02 09:26:10
...
header("Content-type:text/html;charset=utf-8");
$a = 10;
$b = '60';
echo "$a+$b=".$a+$b."
";
echo "$a-$b=".$a-$b."
";
echo "$a$b=".$a$b."
";
echo "$a/$b=".$a/$b."
";
?>
$a = 10;
$b = '60';
echo "$a+$b=".$a+$b."
";
echo "$a-$b=".$a-$b."
";
echo "$a$b=".$a$b."
";
echo "$a/$b=".$a/$b."
";
?>
最后网页输出的值为以下:
70
-50
10*60=600
10/60=0.16666666666667
请问这些值是怎么得来的?
回复内容:
header("Content-type:text/html;charset=utf-8");
$a = 10;
$b = '60';
echo "$a+$b=".$a+$b."
";
echo "$a-$b=".$a-$b."
";
echo "$a$b=".$a$b."
";
echo "$a/$b=".$a/$b."
";
?>
最后网页输出的值为以下:
70
-50
10*60=600
10/60=0.16666666666667
请问这些值是怎么得来的?
echo "$a+$b=".$a+$b."
";执行结果(+-.是同一级的执行顺序为左往右)
"$a+$b=" => '10+60='
"$a+$b=".$a => '10+60=10'
("$a+$b=".$a) + $b => intval('10+60=10') + intval($b) => 10+60 =>70
点击查看PHP运算符优先级
$a是整型,在php中以long类型存储,$b是个字符串,在做算术运算时强制转换为整型,除法运算得出的小数以double存储,剩下就是数学运算了
基本运算:加减乘除
在这里 string自动转换为整形参与运算