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 相关文章推荐
用cookies来跟踪识别用户
Oct 09 PHP
win7下memCache的安装过程(具体操作步骤)
Jun 28 PHP
mcrypt启用 加密以及解密过程详细解析
Aug 07 PHP
设置php页面编码的两种方法示例介绍
Mar 03 PHP
destoon二次开发模板及调用语法汇总
Jun 21 PHP
php中__destruct与register_shutdown_function执行的先后顺序问题
Oct 17 PHP
百度地图经纬度转换到腾讯地图/Google 对应的经纬度
Aug 28 PHP
PHP图形操作之Jpgraph学习笔记
Dec 25 PHP
php魔术方法功能与用法实例分析
Oct 19 PHP
Zend Framework路由器用法实例详解
Dec 11 PHP
PHP设计模式之观察者模式定义与用法示例
Aug 04 PHP
PhpStorm的使用教程(本地运行PHP+远程开发+快捷键)
Mar 26 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
PHP 文件类型判断代码
2009/03/13 PHP
Yii2实现让关联字段支持搜索功能的方法
2016/08/10 PHP
HTML中事件触发列表与解说
2007/07/09 Javascript
JQuery 自定义CircleAnimation,Animate方法学习笔记
2011/07/10 Javascript
js数组Array sort方法使用深入分析
2013/02/21 Javascript
Extjs4中Form的使用之本地hiddenfield
2013/11/26 Javascript
jQuery实现字符串按指定长度加入特定内容的方法
2015/03/11 Javascript
在JavaScript中操作时间之setYear()方法的使用
2015/06/12 Javascript
js实现三级联动效果(简单易懂)
2017/03/27 Javascript
JS实现页面内跳转的简单代码
2017/09/03 Javascript
VueJs组件之父子通讯的方式
2018/05/06 Javascript
Vue实现简易翻页效果源码分享
2018/11/08 Javascript
vue实现简单的星级评分组件源码
2018/11/16 Javascript
node全局变量__dirname与__filename的区别
2019/01/14 Javascript
简单说说如何使用vue-router插件的方法
2019/04/08 Javascript
js实现随机点名功能
2020/12/23 Javascript
Python中获取对象信息的方法
2015/04/27 Python
Python的shutil模块中文件的复制操作函数详解
2016/07/05 Python
Python实现将sqlite数据库导出转成Excel(xls)表的方法
2017/07/17 Python
Python实现判断并移除列表指定位置元素的方法
2018/04/13 Python
Pycharm在创建py文件时,自动添加文件头注释的实例
2018/05/07 Python
Python企业编码生成系统之主程序模块设计详解
2019/07/26 Python
Python高阶函数、常用内置函数用法实例分析
2019/12/26 Python
Django使用Celery加redis执行异步任务的实例内容
2020/02/20 Python
python-sys.stdout作为默认函数参数的实现
2020/02/21 Python
django ListView的使用 ListView中获取url中的参数值方式
2020/03/27 Python
使用py-spy解决scrapy卡死的问题方法
2020/09/29 Python
CSS3中的content属性使用示例
2015/07/20 HTML / CSS
加拿大床上用品、家居装饰、厨房和浴室产品购物网站:Linen Chest
2018/06/05 全球购物
ddl,dml和dcl的含义
2016/05/08 面试题
2014党员四风对照检查材料思想汇报
2014/09/17 职场文书
幼儿园辞职信范文
2015/02/27 职场文书
2016北大自主招生自荐信模板
2016/01/28 职场文书
2016年艾滋病宣传活动总结
2016/04/01 职场文书
js实现上传图片到服务器
2021/04/11 Javascript
Spring Data JPA框架持久化存储数据到数据库
2022/04/28 Java/Android