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,方便之下的数据定位。foreach($array as $key=>$item),这样,你就可以在一下的循环中用$array[$key]来处理任何一个数组元素,它可能是多维,但这并不十分困难,$array[$key][…]。这就是很多时候,我们因为忽略了$key的存在,而不得不重复定义了很多数组,这让我们的代码看起来不简洁。
标签:for, foreach, key, PHP, 数据重组,数据转移,键,键值, 数组结构转载请注明来源蓝普网络并以链接形式标明本文地址
本文链接: http://www.wbphp.cn/html/y11/1981.html
作者:牡丹网景 | 日期:2009-11-30 | 分类:新闻中心 | 评论:1 条 | 浏览:124 次
分类信息
ecshop技巧 css ecshop ecstore FleaPHP html javascript joomla LAMP mysql php qeephp zencart ZendFramework 他们看我 客户案例 APP PC 微信版 牡丹志 09感言 ecshop-lanpu成长历程 内部通知 北京手记 员工成长档案 心情日记 新闻中心 蓝普汇
标签
PHP ecshop 外包 JS php外包 牡丹网景 心情日记 function 设计 Mysql jQuery CSS 常见问题 javascript html 洛阳 进阶课堂 == 心情 2008年 技术笔记 优化 SEO phpcms 新闻 for 问题 客户 如何 工作杂记
联系我们
地址:洛阳市洛龙区长厦门街与开元大道交叉口863创智广场一号楼 23层2329 全国客服热线:400 8789 863 猪八戒店:http://shop.zhubajie.com/498238
我们的承诺
1、一条龙服务:享受特价千兆空间优惠活动。 2、免费售后:我们的客户免费三个月的网站修改、调整等售后服务,享有一年的电话网络咨 询服务。 3、反馈机制:我们做过项目的客户将会在下一个项目进行金额进行反馈,做的越多越优惠。 4、定期回访:我们将会定期回访客户,以便提升服务方式,改进工作。 5、价格最低:如果发现,其他公司的同等产品报价低于我们的我们将退还差价!
学习了!