加入收藏 | 设为首页 | 会员中心 | 我要投稿 成都站长网 (https://www.028zz.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

PHP中循环的区别 以及for和while的区别

发布时间:2022-09-30 17:00:59 所属栏目:PHP教程 来源:网络
导读: while(expr)
只要while表达式的值为TRUE就重复执行嵌套中的循环语句。表达式的值在每次开始循环时检查,所以即使这个值在循环语句中改变了php循环,语句也不会停止执行,直到本次循环结束

while(expr)

只要while表达式的值为TRUE就重复执行嵌套中的循环语句。表达式的值在每次开始循环时检查,所以即使这个值在循环语句中改变了php循环,语句也不会停止执行,直到本次循环结束。如果表达式一开始是false,循环语句一次都会执行。

do-while

do-while循环和while循环非常相似,区别在于表达式的值是每次循环结束时检查而不是开始时。和一般的while循环主要的区别是do-while的循环语句保证会执行一次。

for

for循环是php中最复杂的循环结构,语法是:

for(expr1;expr2;expr3)

第一个表达式(expr1)在循环开始前无条件求值(并执行)一次

expr2在每次循环开始前求值。如果值为TRUE,则继续循环,执行嵌套的循环语句,如果为FALSE则终止循环。

expr3在每次循环之后被求值(并执行)

每个表达式都可以为空,或者逗号分隔的多个表达式。表达式expr2中,所有用逗号分隔的表达式都会去计算,但是只取最后一个结果。expr2为空意味着将无限循环下去。这可能不像想象中那样没有用,因为经常会希望用到条件的break语句结束循环而不是用for的表达式真值判断。

foreach

foreach语法结构提供了遍历数组的简单方式。foreach仅能够应用于数组和对象,如果尝试应用于其他数据类型的变量,或者未初始化的变量将发出错误信息。

foreach(array_expression as $value)

foreach (array_expression as $key=>$value)

第一种格式遍历给定的array_expression数组。每次循环中,当前单元的值被赋值给$value并且数组内部的指针向前移一步(因此下一次循环中将会得到下一个单元)

第二种格式做同样的事,只除了当前单元的键名也会每次循环中被赋值个变量$key。

注意如果在循环内部修改值可能导致意外错误,因为foreach依赖内部数组指针,变量赋值

所以如果要改变值,就要在$value前加上&,此方法将引用赋值而不是拷贝一个值。因为你是引用value,最后一个值会被保留,建议用unset()来将其销毁。

for循环格式

for(初始化语句; 判断条件语句; 控制条件语句){

循环体语句;

}

while循环语句格式

初始化语句;

while(判断条件语句){

循环体语句;

控制条件语句;

}

区别:控制条件语句的变量 在for循环结束后 就不可以被访问了 而while循环还可以访问 如果你继续想使用该变量 可以使用while循环 否则推荐使用for循环 原因是for循环结束 该变量就从内存中消失,能够提高内存的使用效率 ;

(编辑:成都站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!