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 相关文章推荐
建立文件交换功能的脚本(二)
Oct 09 PHP
php环境配置 php5 mysql5 apache2 phpmyadmin安装与配置
Nov 17 PHP
ob_start(),ob_start('ob_gzhandler')使用
Dec 25 PHP
谈PHP生成静态页面分析 模板+缓存+写文件
Aug 17 PHP
利用php+mysql来做一个功能强大的在线计算器
Oct 12 PHP
Session服务器配置指南与使用经验的深入解析
Jun 17 PHP
PHP间隔一段时间执行代码的方法
Dec 02 PHP
php中JSON的使用方法
Apr 30 PHP
php使用gd2绘制基本图形示例(直线、圆、正方形)
Feb 15 PHP
php简单随机字符串生成方法示例
Apr 19 PHP
使用PHP连接数据库_实现用户数据的增删改查的整体操作示例
Sep 01 PHP
PHP实现求连续子数组最大和问题2种解决方法
Dec 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
网络资源
2006/10/09 PHP
php+memcache实现的网站在线人数统计代码
2014/07/04 PHP
PHP模拟asp中response类实现方法
2015/08/08 PHP
php 指定范围内多个随机数代码实例
2016/07/18 PHP
Nginx实现反向代理
2017/09/20 Servers
Javascript 加载和执行-性能提高篇
2012/12/28 Javascript
JQuery for与each性能比较分析
2013/05/14 Javascript
js改变embed标签src值的方法
2015/04/10 Javascript
自己编写的支持Ajax验证的JS表单验证插件
2015/05/15 Javascript
实例讲解jquery中mouseleave和mouseout的区别
2016/02/17 Javascript
Bootstrap教程JS插件弹出框学习笔记分享
2016/05/17 Javascript
angularjs中ng-attr的用法详解
2016/12/31 Javascript
Vue.js系列之项目结构说明(2)
2017/01/03 Javascript
canvas绘制的直线动画
2017/01/23 Javascript
微信小程序scroll-view实现横向滚动和上拉加载示例
2017/03/06 Javascript
WdatePicker.js时间日期插件的使用方法
2017/07/26 Javascript
详解在React中跨组件分发状态的三种方法
2018/08/09 Javascript
javascript局部自定义鼠标右键菜单
2020/12/08 Javascript
python实现excel读写数据
2021/03/02 Python
详解Python3定时器任务代码
2019/09/23 Python
推荐8款常用的Python GUI图形界面开发框架
2020/02/23 Python
阿迪达斯西班牙官方网站:adidas西班牙
2016/07/21 全球购物
美国在线医疗分销商:MedEx Supply
2020/02/04 全球购物
JPA面试常见问题
2016/11/14 面试题
不用游标的SQL语句有哪些
2012/09/07 面试题
应届毕业生应聘自荐信
2013/12/07 职场文书
生产厂厂长岗位职责
2013/12/25 职场文书
测量员岗位职责
2015/02/14 职场文书
辞职书格式样本
2015/02/26 职场文书
安全生产隐患排查制度
2015/08/05 职场文书
2016年“6.26”禁毒宣传月系列活动总结
2016/04/05 职场文书
Python 中 Shutil 模块详情
2021/11/11 Python
Python集合set()使用的方法详解
2022/03/18 Python
德生2P3收音机开箱评测
2022/04/30 无线电
Nginx HTTP跳转至HTTPS
2022/05/15 Servers
AndroidStudio图片压缩工具ImgCompressPlugin使用实例
2022/08/05 Java/Android