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 相关文章推荐
[FAQ]PHP中的一些常识:类篇
Oct 09 PHP
改进的IP计数器
Oct 09 PHP
PHP HTML代码串截取代码
Dec 29 PHP
PHP中对用户身份认证实现两种方法
Jun 04 PHP
抓取并下载CSS中所有图片文件的php代码
Sep 26 PHP
zend framework配置操作数据库实例分析
Dec 06 PHP
PHP系统命令函数使用分析
Jul 05 PHP
php中怎么搜索相关联数组键值及获取之
Oct 17 PHP
php使用qr生成二维码的示例分享
Jan 20 PHP
PHP函数strip_tags的一个bug浅析
May 22 PHP
PHP base64编码后解码乱码的解决办法
Jun 19 PHP
PHP生成静态HTML文档实现代码
Jun 23 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极大的增强功能和性能
2006/10/09 PHP
php中神奇的fastcgi_finish_request
2011/05/02 PHP
浅析PHP substr,mb_substr以及mb_strcut的区别和用法
2013/06/21 PHP
无刷新动态加载数据 滚动条加载适合评论等页面
2013/10/16 PHP
php文件上传的简单实例
2013/10/19 PHP
百度站点地图(百度sitemap)生成方法分享
2014/01/09 PHP
Laravel自动生成UUID,从建表到使用详解
2019/10/24 PHP
写入cookie的JavaScript代码库 cookieLibrary.js
2009/10/24 Javascript
DOM 脚本编程中的兄弟节点
2009/10/31 Javascript
IE6 弹出Iframe层中的文本框“经常”无法获得输入焦点
2009/12/27 Javascript
Jquery 分页插件之Jquery Pagination
2015/08/25 Javascript
js计算文本框输入的字符数
2015/10/23 Javascript
vue子父组件通信的实现代码
2017/07/09 Javascript
浅谈react前后端同构渲染
2017/09/20 Javascript
Vue 3.0 前瞻Vue Function API新特性体验
2019/08/12 Javascript
微信小程序webview组件交互,内联h5页面并网页实现微信支付实现解析
2019/08/16 Javascript
vue输入框使用模糊搜索功能的实现代码
2020/05/26 Javascript
jQuery 移除事件的方法
2020/06/20 jQuery
使用vue实现通过变量动态拼接url
2020/07/22 Javascript
JS遍历树层级关系实现原理解析
2020/08/31 Javascript
django中的setting最佳配置小结
2017/11/21 Python
python3 实现一行输入,空格隔开的示例
2018/11/14 Python
Python用Try语句捕获异常的实例方法
2019/06/26 Python
Python坐标线性插值应用实现
2019/11/13 Python
布隆过滤器的概述及Python实现方法
2019/12/08 Python
Python学习之os模块及用法
2020/06/03 Python
记录一下scrapy中settings的一些配置小结
2020/09/28 Python
《蒙娜丽莎之约》教学反思
2014/02/27 职场文书
自我推荐信范文
2014/05/09 职场文书
党的群众路线教育实践活动个人对照检查材料(教师)
2014/11/04 职场文书
2014年幼儿园教研工作总结
2014/12/04 职场文书
自主招生自荐信怎么写
2015/03/24 职场文书
因家庭原因离职的辞职信范文
2015/05/12 职场文书
甜美蛋糕店的创业计划书模板,拿来即用!
2019/08/21 职场文书
解析laravel使用workerman用户交互、服务器交互
2021/04/28 PHP
使用Python的开发框架Brownie部署以太坊智能合约
2021/05/28 Python