上一节我们学习了for循环的使用和语法。在本节中,我们将了解while循环的语法结构和使用场景。while循环在结构上比for循环更简单,它表达了只要XXX就循环的概念。比如下面这个简单的例子,while循环实现了数组从头部弹出。这个例子是用来描述while循环的,好像有点大材小用了。这个循环的意思是只要数组不为空,总会有一个元素从头部出来打印出来。当数组为空时,循环自动退出。如您所见,while循环的结构非常简单。while关键字后跟一个括号以指示条件,然后是一个大括号以指示结构。和for循环相比,每次循环产生的变化都放在结构体内部,这里不再给出那些很简单的例子,呼应上一节,我们可以用while循环写出类似for循环的例子,如下如下:while循环实现array_searchwhile循环实现in_arraywhile循环实现array_combine同理,while循环实现关联数组的遍历会造成一些麻烦,因为得到的key是非数字的,所以在遍历的时候可能会遇到索引out-越界错误就像for循环。根据while循环的结构,大家可能已经猜到,while循环的使用范围可能没有for循环那么广。但其独特之处在于结构简单易懂。企业项目中一些特殊场景会用到,比如我们写栈,计算,递归等,那些有明确循环跳转条件的场景。比如我之前写的自增会员卡号的计算,只要卡号在数据库中,就会一直自增,直到数据库不存在,再获取会员卡号给用户,或者又如,生成一系列不重复的随机码,并与数据库中的兑换码进行比对。只要已经生成并存入数据库,再尝试生成新的随机码,直到达到指定的数量。while循环的独特性造就了它的使用场景,让更多不知道数组长度和退出条件的业务使用循环。可以弥补for循环需要明确变化和退出条件的业务缺陷。事实上,在企业项目中,很多场景并没有纯粹的理论支持。我们需要从一定的高度进行改造,结合现实,封装归纳等等来完成,而while循环为我们解决特殊的循环场景提供了强有力的保障!本文由家住会计师联盟(http://www.jiazhua.com)整理编辑!
