php 代码优化之经典示例


Posted in PHP onMarch 24, 2011

我用的方法是按key区分块,然后在将块赋给其他的变量,然后再进行一些操作,这样用到了很多的for和foreach,而且代码量也很大,所以被退回来了。

经过上面的指导,发现真的好简单,现在与大家一同分享。

ID FIELD1 FIELD2 FIELD3 FIELD4 Key
1 *** *** *** *** meat1
2 *** *** *** *** meat1
3 *** *** *** *** meat1
4 *** *** *** *** meat1
5 *** *** *** *** fruit2
6 *** *** *** *** fruit2
7 *** *** *** *** fruit2
8 *** *** *** *** fruit2
9 *** *** *** *** fruit2
10 *** *** *** *** food3
11 *** *** *** *** food3

现在有如上所示的结果

要求:要对这个已经按key进行排序了的数组进行操作,相同key的项进行处理。

提示:这个是很典型的母子表的结构,也就是说其实它是两张表的合并,可以这样处理成两个数组,方便数组里面对块的操作
array1:ID|Key

ID Key
1 meat1
2 meat1
3 meat1
4 meat1
5 fruit2
6 fruit2
7 fruit2
8 fruit2
9 fruit2
10 food3
11 food3

array2:key => array(ID,FIELD1,FIELD2,FIELD3,FIELD4,FIELD5,Key)

ID FIELD1 FIELD2 FIELD3 FIELD4 Key
meat1=> 1 *** *** *** *** meat1
2 *** *** *** *** meat1
3 *** *** *** *** meat1
4 *** *** *** *** meat1
fruit2=> 5 *** *** *** *** fruit2
6 *** *** *** *** fruit2
7 *** *** *** *** fruit2
8 *** *** *** *** fruit2
9 *** *** *** *** fruit2
food3=> 10 *** *** *** *** food3
11 *** *** *** *** food3

实现如上数组分离代码

这样后,访问tempArray的块数据就非常方便了

foreach($tempArray as $row){

array1[$row['ID']] = $row['Key'];

array2[$row['Key']][] = $row;

}

访问和处理代码

foreach($array1 as $ID => $Key){

$this->doSomeThing($ID);

//访问tempArray的块数组$array2[$Key]

$this->doSomeThing2($array2[$Key]);

}

PHP 相关文章推荐
PHP个人网站架设连环讲(四)
Oct 09 PHP
dedecms模板标签代码官方参考
Mar 17 PHP
在Windows下编译适用于PHP 5.2.12及5.2.13的eAccelerator.dll(附下载)
May 04 PHP
深入理解:XML与对象的序列化与反序列化
Jun 08 PHP
PHP中isset()和unset()函数的用法小结
Mar 11 PHP
ioncube_loader_win_5.2.dll的错误解决方法
Jan 04 PHP
Codeigniter实现发送带附件的邮件
Mar 19 PHP
Windows下编译PHP5.4和xdebug全记录
Apr 03 PHP
PHP如何通过AJAX方式实现登录功能
Nov 23 PHP
PHP中strcmp()和strcasecmp()函数字符串比较用法分析
Jan 07 PHP
php支付宝APP支付功能
Jul 29 PHP
php json转换相关知识(小结)
Dec 21 PHP
php模拟asp中的XmlHttpRequest实现http请求的代码
Mar 24 #PHP
php邮件发送,php发送邮件的类
Mar 24 #PHP
php 数组排序 array_multisort与uasort的区别
Mar 24 #PHP
一个基于PDO的数据库操作类
Mar 24 #PHP
Zend Studio (eclipse)使用速度优化方法
Mar 23 #PHP
常见的PHP五种设计模式小结
Mar 23 #PHP
PHP中MVC模式的模板引擎开发经验分享
Mar 23 #PHP
You might like
phpBB BBcode处理的漏洞
2006/10/09 PHP
PHP备份/还原MySQL数据库的代码
2011/01/06 PHP
PHP爆绝对路径方法收集整理
2012/09/17 PHP
ThinkPHP实现递归无级分类――代码少
2015/07/29 PHP
中高级PHP程序员应该掌握哪些技术?
2016/09/23 PHP
php抛出异常与捕捉特定类型的异常详解
2016/10/26 PHP
使用coffeescript编写node.js项目的方法汇总
2015/08/05 Javascript
深入浅析react native es6语法
2015/12/09 Javascript
webuploader模态框ueditor显示问题解决方法
2016/12/27 Javascript
JS闭包可被利用的常见场景小结
2017/04/09 Javascript
在微信小程序中使用图表的方法示例
2019/04/25 Javascript
使用layui的router来进行传参的实现方法
2019/09/06 Javascript
layui实现数据表格自定义数据项
2019/10/26 Javascript
原生js实现碰撞检测
2020/03/12 Javascript
JavaScript实现简单进度条效果
2020/03/25 Javascript
微信小程序实现上传多张图片、删除图片
2020/07/29 Javascript
[42:20]2014 DOTA2华西杯精英邀请赛5 24 DK VS NewBee
2014/05/25 DOTA
[03:34]2014DOTA2西雅图国际邀请赛 淘汰赛7月15日TOPPLAY
2014/07/15 DOTA
Python实现命令行通讯录实例教程
2016/08/18 Python
python实现比较文件内容异同
2018/06/22 Python
Django 过滤器汇总及自定义过滤器使用详解
2019/07/19 Python
Django中使用CORS实现跨域请求过程解析
2019/08/05 Python
Atom Python 配置Python3 解释器的方法
2019/08/28 Python
Django中密码的加密、验密、解密操作
2019/12/19 Python
如何利用python web框架做文件流下载的实现示例
2020/06/02 Python
python如何查看网页代码
2020/06/07 Python
解决c++调用python中文乱码问题
2020/07/29 Python
优瑞自动咖啡机官网:Jura
2018/09/29 全球购物
《春晓》教学反思
2014/04/20 职场文书
平安校园建设方案
2014/05/02 职场文书
校本教研活动总结
2014/07/01 职场文书
革命英雄事迹演讲稿
2014/09/13 职场文书
社区学习党的群众路线教育实践活动心得体会
2014/11/03 职场文书
学习心理学的体会
2014/11/07 职场文书
新学期感想
2015/08/10 职场文书
五年级作文之学校的四季
2019/12/05 职场文书