第九课:PHP中的运算
你的网站里有大量的文章资料供读者阅读,成千上万文章的标题列表不可能全部放在一个网页中吧,我们会分成一页一页供读者查看。一共有多少个文章标题,每页显示多少个标题,一共要分成多少页来显示,这些总离不开计算吧。还记得学校里学到的基本数学知识吗?就和它们一样。PHP中的计算可比你的小学数学简单得多,不就是加减乘除吗?
先看看PHP中有哪些运算符:
表:算术运算符
| $a + $b | 加法 | $a 和 $b 的和。 |
| $a - $b | 减法 | $a 和 $b 的差。 |
| $a * $b | 乘法 | $a 和 $b 的积。 |
| $a / $b | 除法 | $a 除以 $b 的商。 |
| $a % $b | 取模 | $a 除以 $b 的余数。 |
除号(“/”)总是返回浮点数,即使两个运算数是整数(或由字符串转换成的整数)也是这样。表达式 1 + 5 * 3 的结果是 16 而不是 18 是因为乘号(“*”)的优先级比加号(“+”)高。必要时可以用括号来强制改变优先级。例如:(1 + 5) * 3 的值为 18。
再看一些例子9-1:
<?php
$a = 5;
$b = 3;
$c = 2;
$x = $a + $b -$c;
$y = $a * ($c + $b);
$z = ($a + $b)/$c;
$m = 50 - $a * $b;
$n = 100 * $c % $b;
echo "X的值是 $x<br>Y的值是 $y<br>Z的值是 $z<br>M的值是 $m <br>N的值是 $n<br>";
//你能说出上面的输出结果吗?
?>
<?php
$a = 3;
$b = 5;
echo $a + $b; //可以这样直接在echo后使用表达式,输出结果为8
echo "a+b的值是:".$a + $b;
//你以为还是8吗?错,结果是5(即$b的值)。
//加号前面是一个字符串,字符串转换成数字时都变成了0。
?>
<?php
$a = 3;
$b = 5;
$a += 5; //$a的值是8,这个表达式等同于: $a = $a + 5;
$b -= 3; //$b的值是2,这个表达式等同于: $b = $b - 3;
echo $a.'<br>'.$b;
?>
<?php
$a = ( $b = 5 ) + 3;
echo "a的值是:".$a."b的值是:".$b;
//括号中先给$b赋值5,然后加3后赋值给$a,所以$a的值是8。
//PHP真是太自由了,变量无须事先声明,赋值也可以随时进行,想怎么做就怎么做。
?>
上面的运算也许你在编程时用得不多,但是对一个数自加一或自减一是经常用到的,PHP 支持 C 风格的前/后加一与减一运算符。
表:加一/减一运算符
| ++$a | 前加 | $a 的值加一,然后返回 $a。 |
| $a++ | 后加 | 返回 $a,然后将 $a 的值加一。 |
| --$a | 前减 | $a 的值减一, 然后返回 $a。 |
| $a-- | 后减 | 返回 $a,然后将 $a 的值减一。 |
例子9-5:
<?php
echo "<h3>后增</h3>";
$a = 5;
echo "值是 5: " . $a++ . "<br /> ";
echo "值是 6: " . $a . "<br /> ";
echo "<h3>前增</h3>";
$a = 5;
echo "值是 6: " . ++$a . "<br /> ";
echo "值是 6: " . $a . "<br /> ";
echo "<h3>后减</h3>";
$a = 5;
echo "值是 5: " . $a-- . "<br /> ";
echo "值是 4: " . $a . "<br /> ";
echo "<h3>前减</h3>";
$a = 5;
echo "值是 4: " . --$a . "<br /> ";
echo "值是 4: " . $a . "<br /> ";
?>
上面的例子中用到了“/n”,表示换行,而"/r"表示回车,所以你会经常在一些源码中看到“/r/n”(你可以看第七课中有关转义字符)。网页效果中的换行用<br>或<br />。
PHP中的运算是不是很简单呢?的确,我们只要多记住一些东西,熟练了也会成为PHP高手。要记住这些杂七杂八的东西也就只有靠多动手练习了。

被折叠的 条评论
为什么被折叠?



