在前面那些循环都已经学习的差不多的时候,我想告诉你一个冷门知识,list each。
list each在和while相遇的时候能大展神威,犹如关公手握青龙偃月刀,张飞掌擎 丈八蛇矛 枪,薛仁贵身扛方天画戟,尉迟恭身披打王神鞭。那晴空万里,骄阳高悬,沙场呼啸,万马奔腾,秋哥爽哉多咏志,莫等冬雪来裹尸!
好了,我又控几不句沃记几了。list函数是一个很特殊的函数,如果不是因为我想写一个list方法展示列表,而造成函数名重名定义,我还不知道这个函数,该函数可以将数组进行分离,在一次操作中把数组的value赋值给多个变量,但是值得注意的是手册给出注释:该函数只用于数字 索引 的数组,且假定数字索引从 0 开始。
而 each 函数又是一个能把数组当前键名称 键值都返回的,而且还能把 游标 往前移动一步,那么这就很好的满足了我们想获取关联数组的元素的愿望,list 和each在一起用 list($key,$value)=each($array) 这样一来,就拿到键值了,可是游标要全部移动完才能算遍历完成啊?
那么这个时候 while循环犹如宋江及时雨一样 主角登场了,三者合一,达到了我们想要的 foreach ($arary as $key=>$value)的效果!
此时我们看到了它们三个组合的强大,犹如刘关张桃园三结义,三英战吕布,三个兄弟一场结拜,一个头磕地上,然后起来保着唐僧西天取经去了……(反正这事儿红楼梦里面讲的都有!)
一旦实现了foreach的功能,就难免要有一场血雨腥风的较量,毕竟,有人的地方,就有江湖。很多人开始评论和对比两者优劣了,众说纷纭,犹如诸子百家争鸣一样,各抒己见,好吧,这里就仅仅谈谈我自己的一点点观点。
foreach更加适合企业项目的编程和维护,毕竟一个长久项目不会始终由几个固定的人来维护(山不转水转,路不转人转啊),那么针对应用而言的项目当然是写的更加直白,便于维护,易于理解才是较好的,毕竟大家的水平参差不齐,闻道有先后,术业有专攻,各位都是有身份证的人,当然是不愿意承认自己就矮人一等,除非是业界比较有名的人让我们难以望其项背。所以,代码写的更加适合维护扩展就是很必要的了,要知道 foreach的使用频率远远高于其他循环,所以这里三者组合而成的 循环结构 难免让人难以理解,有些晦涩难懂,当然并不是说 while list each就没有用武之地了,在特殊场景中,比如大数据量导出,导入,大数据量处理的时候,这个循环的使用会给你带来意想不到的结果,让你明白那首歌词,啊原来你也在这里!
当你蓦然回首,灯火阑珊之时,你就会明白踏遍青山人未老,风景这边独好!
相关文章
本站已关闭游客评论,请登录或者注册后再评论吧~