谨慎操作
因此到目前为止,我们所讨论的脚本一直非常的枯燥,所有它能做的就是添加数字及字符串,且向你读回(但并非完全压倒性地)你自身输入的数据。为了对你的脚本添加一些智能,你需要知道如何建构平常所说的“条件语句(Conditional Statement)”,该语句是指让你的脚本基于比较测试的结果来执行一系列可能的动作之一。并且,因为条件语句是建立在比较的基础上的,所以你首先需要知道如何比较两个变量且确定它们是相同还是不同。
你已经了解了一些PHP的算术及字符串操作符。然而,该语言也一起给出了与专门设计出来用于比较两个值的操作符(即所谓的“比较操作符”,Comparison Operator)。下面用一个实际操作来解释该操作符:
<?php /* define some variables */ $mean = 9; $median = 10; $mode = 9; // less-than operator // returns true if left side is less than right // returns true here $result = ($mean < $median); print "result is $result<br />"; // greater-than operator // returns true if left side is greater than right // returns false here $result = ($mean > $median); print "result is $result<br />"; // less-than-or-equal-to operator // returns true if left side is less than or equal to right // returns false here $result = ($median <= $mode); print "result is $result<br />"; // greater-than-or-equal-to operator // returns true if left side is greater than or equal to right // returns true here $result = ($median >= $mode); print "result is $result<br />"; // equality operator // returns true if left side is equal to right // returns true here $result = ($mean == $mode); print "result is $result<br />"; // not-equal-to operator // returns true if left side is not equal to right // returns false here $result = ($mean != $mode); print "result is $result<br />"; // inequality operator // returns true if left side is not equal to right // returns false here $result = ($mean <> $mode); print "result is $result"; ?>
比较测试的结果总是布尔型(Boolean)的:是真(1)或是假(0,其不印于任何事物上)。这使得比较操作符成为你工具箱里一个不可缺少的部分,因而你可以结合条件语句来使用比较操作符,以将一脚本向下发送至其多个动作路径的任意一个。
PHP 4.0也引入了新的比较操作符:===操作符,该操作符允许你测试等式及类型。下面的例子将对其进行解释:
<?php /* define two variables */ $str = '10'; $int = 10; /* returns true, since both variables contain the same value */ $result = ($str == $int); print "result is $result<br />"; /* returns false, since the variables are not of the same type */
/* even though they have the same value */ $result = ($str === $int); print "result is $result<br />"; /* returns true, since the variables are the same type and value */ $anotherInt = 10; $result = ($anotherInt === $int); print "result is $result"; ?>
阅读更多关于PHP比较操作符的内容,请参阅http://www.php.net/manual/en/language.operators.comparison.php。