上一节我们学习了for循环的使用以及语法,这一节看看while循环的语法结构和使用场景。
while循环比for循环结构上更加简单,它表达了 只要XXX就循环的概念。
比如下面这个简单例子
while循环实现数组从头部出栈
这个例子用来讲while循环,好像有点大材小用了,这个循环的意思是,只要数组不为空,就一直从头部出来一个元素,病打印它。当数组为空的时候,自然而然就退出循环了。
诚如你所见,while循环的结构是很简单的 while关键字后面跟一个括号表示条件,后面是一个花括号表示结构体,相对于for循环而言,每次循环产生的变化被放入到结构体内,这里我们不再举那些非常简单的例子,与上一节遥相呼应,我们可以使用while循环书写和for循环类似的例子,如下:
while循环实现array_search
while循环实现in_array
while循环实现array_combine
同样,while循环实现关联数组的遍历会有一些小麻烦,因为获取的key是非数值型的,所以在遍历的时候和for循环一样都可能遇到索引越界的错误。
根据while循环的结构你可能已经猜到了,while循环的使用范围可能没有for循环广泛,不过,它独到之处在于结构体简单,易于理解,在企业项目中会用于一些特殊场景中,例如我们写的出栈,计算,递归等等,那些有一个明确循环跳出条件的场景。比如我之前写过的计算自增会员卡号,只要数据库中有该卡号就一直递增,直到数据库没有为止,拿到那个会员卡号给用户,或者是另外一个例子,产生一系列不重复的随机码和数据库已有兑换码比对,只要曾经产生过并存入了数据库,就再次尝试生成新的随机码,直到达到指定数量为止。
while循环的独特造就了它的使用场景,让更多不明确数组长度以及跳出条件的业务能使用循环,它能弥补for循环那种要求明确变化和跳出条件的业务缺陷,事实上,企业项目中的很多场景都不是纯靠理论能支撑的,需要我们从一定的高度上去改造,结合实际,封装归纳等等,来完成它,而while循环正是为我们解决特殊循环场景提供了有力的保障!
文章由甲爪cpa联盟(http://www.jiazhua.com)整理编辑!
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。