PHP中循环的区别 以及for和while的区别
只要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循环结束 该变量就从内存中消失,能够提高内存的使用效率 ; (编辑:成都站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |