php 运算问题

来源:百度知道 编辑:UC知道 时间:2024/06/07 02:52:26
第一个问题

<?php

$a = 3;
$b = 5;

echo $a + $b; //可以这样直接在echo后使用表达式,输出结果为8

echo "a+b的值是:".$a + $b;
//你以为还是8吗?错,结果是5(即$b的值)。
//加号前面是一个字符串,字符串转换成数字时都变成了0。

?>

echo "a+b的值是:".$a + $b;
//你以为还是8吗?错,结果是5(即$b的值)。
//加号前面是一个字符串,字符串转换成数字时都变成了0。

echo "a+b的值是:".$a + $b;

这条语句,加号前面明明是 变量 $a ,怎么算做字符串了?

第二个 问题

<?php
echo "<h3>后增</h3>";
$a = 5;
echo "值是 5: " . $a++ . "<br />\n";
echo "值是 6: " . $a . "<br />\n";

echo "<h3>前增</h3>";
$a = 5;
echo "值是 6: " . ++$a . "<br />\n";
echo "值是 6: " . $a . "<br />\n";

echo "<h3>后减</h3>";
$a = 5;
echo "值是 5: " . $a-- . "<b

自己耐心点吧,我看那个论坛别人给你的解答也是对的,说清楚了的。

第一个问题,程序怎么执行下面这个语句呢:
echo "a+b的值是:".$a + $b;

根据优先级别echo最后执行,所以先执行了.运算,同时把各变量的值带进去,现在的表达式变为了:
echo "a+b的值是:3" + 5;

这个时候程序需要计算一个字符串与一个整数的和,字符串一开头没有数字,转变为整数就为0,那么现在的程序语句变为:
echo 0 + 5;

所以输出结果是5。

看明白没有,不明白请补充。明白了再解释第二个问题。

.和+号按左到右的顺序,第1题会出错,你可以加个()号,或者写成两条语句.
\n的换行和<br>换行是不一样的,\n换行只是代码换行,但显示出来的效果是一样,<br>显示出来的效果会换行