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 相关文章推荐
Windows下安装Memcached的步骤说明
Apr 25 PHP
用PHP写的基于Memcache的Queue实现代码
Nov 27 PHP
百度ping方法使用示例 自动ping百度
Jan 26 PHP
PHP中source #N问题的解决方法
Jan 27 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(五)
Jun 23 PHP
php实现简单的语法高亮函数实例分析
Apr 27 PHP
ThinkPHP使用Smarty第三方插件方法小结
Mar 19 PHP
PHP利用超级全局变量$_GET来接收表单数据的实例
Nov 05 PHP
Yii2 hasOne(), hasMany() 实现三表关联的方法(两种)
Feb 15 PHP
yii2.0整合阿里云oss删除单个文件的方法
Sep 19 PHP
YII框架页面缓存操作示例
Apr 29 PHP
Laravel 集成微信用户登录和绑定的实现
Dec 27 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
用ODBC的分页显示
2006/10/09 PHP
记录PHP错误日志 display_errors与log_errors的区别
2012/10/09 PHP
php curl选项列表(超详细)
2013/07/01 PHP
使用正则去除php代码中的注释方法
2016/11/03 PHP
thinkphp5使html5实现动态跳转的例子
2019/10/16 PHP
javascript的事件描述
2006/09/08 Javascript
IE与firefox下Dhtml的一些区别小结
2009/12/02 Javascript
JS文本框不能输入空格验证方法
2013/03/19 Javascript
不提示直接关闭网页窗口的JS示例代码
2013/12/17 Javascript
jQuery操作cookie方法实例教程
2014/11/25 Javascript
javascript制作的简单注册模块表单验证
2015/04/13 Javascript
js下拉选择框与输入框联动实现添加选中值到输入框的方法
2015/08/17 Javascript
JavaScript基本语法学习教程
2016/01/14 Javascript
关于Node.js中Buffer的一些你可能不知道的用法
2017/03/28 Javascript
使用javascript做在线算法编程
2018/05/25 Javascript
详解vue中localStorage的使用方法
2018/11/22 Javascript
微信上传视频文件提示(推荐)
2018/11/22 Javascript
taro开发微信小程序的实践
2019/05/21 Javascript
javascript实现简易聊天室
2019/07/12 Javascript
vue组件命名和props命名代码详解
2019/09/01 Javascript
js实现淘宝首页的banner栏效果
2019/11/26 Javascript
[56:17]NB vs Infamous 2019国际邀请赛淘汰赛 败者组 BO3 第三场 8.22
2019/09/05 DOTA
巧用Python装饰器 免去调用父类构造函数的麻烦
2012/05/18 Python
Python IDE PyCharm的基本快捷键和配置简介
2015/11/04 Python
Python的包管理器pip更换软件源的方法详解
2016/06/20 Python
python自动查询12306余票并发送邮箱提醒脚本
2018/05/21 Python
python批量下载抖音视频
2019/06/17 Python
Python3监控疫情的完整代码
2020/02/20 Python
keras 自定义loss model.add_loss的使用详解
2020/06/22 Python
浅谈matplotlib 绘制梯度下降求解过程
2020/07/12 Python
python3代码输出嵌套式对象实例详解
2020/12/03 Python
Python爬虫之Selenium实现窗口截图
2020/12/04 Python
日本著名化妆品零售网站:Cosme Land
2019/03/01 全球购物
PHP面试题及答案一
2012/06/18 面试题
策划主管的工作职责
2013/11/24 职场文书
学校政风行风评议心得体会
2014/10/21 职场文书