php外包、微信开发、app开发尽在蓝普!PHP技术服务商

foreach中的key,你注意到了么?

for和foreach都可以用来遍历数组,那么用哪一种更方便呢?首先,我建议无论你要用这个数组来做什么。var_dump下你的数组结构是绝对不

多余的,特别是多维数组。清楚了数据结构,下一步,想想自己是要对该数组进行怎样的操作。我将有关数组的处理分为两种:1、数据转移——即用该数组中的数据去给另外的变量赋值,2、数据重组——因为某种特殊需求,需要重新定义该数组。如需要将二维数组变成三维用id作为第一维的【键】等。

如果是第一种处理,无论是用for($i=0;$i<count ($array);$i++)或者foreach($array as $item)都是足够的。如果是第二种处理,即改变现有的数据结构。就要分情况处理了,前面说过,把数组var_dump出来,一定要注意数组的键是否为有序数列,如:0、1、2、3、4…有些时候数组是会用某一数组元素做为键的,如数据库查询出的多行记录中的单行记录中的id字段做为数组的键。那么该数组的键有可能就是无序数列,如:1、23、25、26、27、29…除了用var_dump打印出数组的所有结构查看键是否有序,您还可以用print_r(array_keys($array))来打印出数组$array中所有的键。如果碰到无序数列,强烈建议用foreach来处理,并且要注意跟数据转移所用foreach不同,这里一定要定义key,方便之下的数据定位。($array as $=>$item),这样,你就可以在一下的循环中用$array[$]来处理任何一个数组元素,它可能是多维,但这并不十分困难,$array[$][…]。这就是很多时候,我们因为忽略了$key的存在,而不得不重复定义了很多数组,这让我们的代码看起来不简洁。

标签:, , , , ,

转载请注明来源蓝普网络并以链接形式标明本文地址
本文链接: http://www.wbphp.cn/html/y11/1981.html

作者:牡丹网景 | 日期:2009-11-30 | 分类:新闻中心 | 评论:1 条 | 浏览:124


上一篇:
下一篇:

相关文章

    • 暂无相关文章

才1个评论

  1. 牡丹网景 说:

    学习了!

发表评论

*

* 以便邮件回复


给我汇款 | 合作流程 | 看看我们 | 加入我们 Copyright 2008-2016 php外包与洛阳php培训服务商. Some Rights Reserved. 豫ICP备12025288号-1