第九课: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> " ; // 你能说出上面的输出结果吗? ?> 使用技巧:例子9-2: <? php $a = 3 ; $b = 5 ; echo $a + $b ; // 可以这样直接在echo后使用表达式,输出结果为8 echo " a+b的值是: " . $a + $b ; // 你以为还是8吗?错,结果是5(即$b的值)。//加号前面是一个字符串,字符串转换成数字时都变成了0。 ?> 例子9-3: <? php $a = 3 ; $b = 5 ; $a += 5 ; // $a的值是8,这个表达式等同于: $a = $a + 5; $b -= 3 ; // $b的值是2,这个表达式等同于: $b = $b - 3; echo $a . ' <br> ' . $b ; ?> 例子9-4: <? 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高手。要记住这些杂七杂八的东西也就只有靠多动手练习了。