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
Windows下的PHP5.0详解
Nov 18 PHP
深入apache host的配置详解
Jun 09 PHP
Codeigniter整合Tank Auth权限类库详解
Jun 12 PHP
如何使用Gitblog和Markdown建自己的博客
Jul 31 PHP
php递归函数三种实现方法及如何实现数字累加
Aug 07 PHP
php自动识别文字编码并转换为目标编码的方法
Aug 08 PHP
PHP会话操作之cookie用法分析
Sep 28 PHP
php中__toString()方法用法示例
Dec 07 PHP
phpstudy默认不支持64位php的解决方法
Feb 20 PHP
php打开本地exe程序,js打开本地exe应用程序,并传递相关参数方法
Feb 06 PHP
PHP实现微信提现功能
Sep 30 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的日期与时间函数技巧
2008/04/24 PHP
ThinkPHP模板IF标签用法详解
2014/07/01 PHP
CI框架学习笔记(一) - 环境安装、基本术语和框架流程
2014/10/26 PHP
PHP连接MySQL数据的操作要点
2015/03/20 PHP
PHP删除字符串中非字母数字字符方法总结
2019/01/20 PHP
PHP的PDO错误与错误处理
2019/01/27 PHP
基于JQuery.timer插件实现一个计时器
2010/04/25 Javascript
jQuery实现鼠标滑过遮罩并高亮显示效果
2013/07/16 Javascript
浅谈JavaScript的事件
2015/02/27 Javascript
js中不同的height, top的区别对比
2015/09/24 Javascript
JS DOMReady事件的六种实现方法总结
2016/11/23 Javascript
微信小程序wx.request的简单封装
2019/11/13 Javascript
微信小程序 scroll-view的使用案例代码详解
2020/06/11 Javascript
JavaScript实现滚动加载更多
2020/12/27 Javascript
python获取beautifulphoto随机某图片代码实例
2013/12/18 Python
python遍历文件夹并删除特定格式文件的示例
2014/03/05 Python
Python使用pymysql从MySQL数据库中读出数据的方法
2018/07/25 Python
python按时间排序目录下的文件实现方法
2018/10/17 Python
详解python读取和输出到txt
2019/03/29 Python
python Pandas库基础分析之时间序列的处理详解
2019/07/13 Python
Django Channels 实现点对点实时聊天和消息推送功能
2019/07/17 Python
python安装本地whl的实例步骤
2019/10/12 Python
Django实现网页分页功能
2019/10/31 Python
python将数组n等分的实例
2019/12/02 Python
Python实现投影法分割图像示例(二)
2020/01/17 Python
Django中Aggregation聚合的基本使用方法
2020/07/09 Python
python 如何引入协程和原理分析
2020/11/30 Python
实现CSS3中的border-radius(边框圆角)示例代码
2013/07/19 HTML / CSS
英国豪华文具和皮具配件经典老品牌:Smythson(斯迈森)
2018/04/19 全球购物
丝绸和人造花卉、植物和树木:Nearly Natural
2018/11/28 全球购物
甜品蛋糕店创业计划书范文
2014/02/06 职场文书
会计师职业生涯规划范文
2014/02/18 职场文书
寒假安全保证书
2015/02/28 职场文书
公务员保密工作承诺书
2015/05/04 职场文书
创业计划书之餐饮
2019/09/02 职场文书
AJAX实现指定部分页面刷新效果
2021/10/16 Javascript