控制语句
在我们之前看到的PHP代码的例子中,要么有一个将文本输出到网页的单句;或者依次执行的一系列语句。如果你用其他语言写过程序,你应该知道这样简单的程序很少。
和其他编程语言一样,PHP也提供了一种在脚本中处理“控制流”的便捷方式。也就是说,PHP包含了一些特殊的语句,通过这些语句,你可以不受执行顺序的约束。这种语句称为“控制语句”。不懂?放心吧!一些例子会对你很有帮助。
最基本和最常用的控制语句是if-else语句。它的结构是这样的:
这种控制语言允许我们告诉PHP根据某些条件的真值来决定执行哪组语句。如果你不觉得我这么做有点空空的话,我们可以把刚刚建立的welcome.php文档修改如下:
现在,如果传递给这个页面的name变量的值是Kevin,将会显示一条特殊的消息。否则,将显示包含输入名称的一般信息。
需要指出的是,在这个结构中,“else子句”(表示当if-else结构中的条件为假时将执行什么)是可选的。对于上面的例子,如果我们的目的是在输入适当的名字时显示特殊信息,否则什么也不显示。这段代码应该如下所示:
上述条件中使用的= =是比较两个值是否相等的运算符。重要的是要记住,你需要在这里输入两个等号。如果你输入一个等号,你实际上是在使用我们之前讨论过的赋值操作符。不是比较两个变量的值,而是给变量赋一个新值(这个操作会附带返回一个真值)。这样做的结果不仅是这一项永远为真,还可能改变我们要检查的变量的值,这可能会导致很多问题。
防止这种错误的一个安全方法是颠倒用于比较的变量和常数的位置,如下所示:
效果完全一样,但是当你忘记第二个等号的时候,我们来看看会发生什么。PHP会尝试将变量($name)的值插入到常量(“Kevin”)中。因为不能改变常量的值,PHP会中断并提示错误信息,会立刻提示你忘记第二个等号!
条件可能比单个比较是否相等更复杂。回想一下我们修改后的welcome.php3,它可以同时获取名字和姓氏。如果我们想为特定的人显示特殊的消息,我们可以同时比较这两个变量:
只有当$firstname的值是Kevin并且$lastname的值是Yank时,该条件才会返回true。and的意思是,只有两个比较都为真,整篇文章才会回归真。另一个符号是or,当两个比较中至少有一个为真时,它使整个条件返回真。如果您熟悉JavaScript和C中的运算符(&&(and)和||(or)),您也可以在PHP中使用它们。
下面我们会看到一些更复杂的对比。现在,我们需要的是对if-else语句的基本理解。
另一个常用的PHP控制语句是while循环。If-else语句允许我们根据条件选择是否执行一组语句,而loop允许我们根据条件决定一组语句重复多少次。while循环的基本格式如下:
While () {//只要为真就重复执行的语句}
这非常类似于没有else子句的if-else语句。不同的是,当条件为真时,语句执行后,不再执行终止符(})后的语句,而是再次检查条件。如果这个条件仍然成立。该判决将被重复执行,直到条件不再为真。当这个条件第一次返回false时(无论检查多少次),都会跳转到执行循环之后的语句(终止符之后)。
adminjs.cn是一个以CSS、JavaScript、Vue、HTML为核心的前端开发技术网站。我们致力于为广大前端开发者提供专业、全面、实用的前端开发知识和技术支持。 在本网站中,您可以学习到最新的前端开发技术,了解前端开发的最新趋势和最佳实践。我们提供丰富的教程和案例,让您可以快速掌握前端开发的核心技术和流程。 Adminjs.cn还提供一系列实用的工具和插件,帮助您更加高效地进行前端开发工作。我们提供的工具和插件都经过精心设计和优化,可以帮助您节省时间和精力,提升开发效率。 在Adminjs.cn中,您可以找到您需要的一切前端开发资源,让您成为一名更加优秀的前端开发者。欢迎您加入我们的大家庭,一起探索前端开发的无限可能!