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 相关文章推荐
ob_start(),ob_start('ob_gzhandler')使用
Dec 25 PHP
可以在线执行PHP代码包装修正版
Mar 15 PHP
php获取网页内容方法总结
Dec 04 PHP
用PHP获取Google AJAX Search API 数据的代码
Mar 12 PHP
php使用GeoIP库实例
Jun 27 PHP
php ImageMagick windows下安装教程
Jan 26 PHP
PHP中使用BigMap实例
Mar 30 PHP
php使用GD库创建图片缩略图的方法
Jun 10 PHP
必须收藏的php实用代码片段
Feb 02 PHP
PHP编写简单的App接口
Aug 28 PHP
php获取文章内容第一张图片的方法示例
Jul 03 PHP
PHP进阶学习之反射基本概念与用法分析
Jun 18 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验证码类代码分享(已封装成类)
2011/07/17 PHP
解析PHP SPL标准库的用法(遍历目录,查找固定条件的文件)
2013/06/18 PHP
浅谈web上存漏洞及原理分析、防范方法(安全文件上存方法)
2013/06/29 PHP
php从数据库查询结果生成树形列表的方法
2015/04/17 PHP
Ubuntu 16.04中Laravel5.4升级到5.6的步骤
2018/12/07 PHP
PHP如何开启Opcache功能提升程序处理效率
2020/04/27 PHP
我见过最全的个人js加解密功能页面
2007/12/12 Javascript
为jquery.ui.dialog 增加“自动记住关闭时的位置”的功能
2009/11/24 Javascript
JavaScript在IE和Firefox(火狐)的不兼容问题解决方法小结
2010/04/13 Javascript
javascript模拟的Ping效果代码 (Web Ping)
2011/03/13 Javascript
增强用户体验友好性之jquery easyui window 窗口关闭时的提示
2012/06/22 Javascript
jquery text(),val(),html()方法区别总结
2013/11/04 Javascript
js post提交调用方法
2014/02/12 Javascript
2种jQuery 实现刮刮卡效果
2015/02/01 Javascript
深入理解JavaScript系列(17):面向对象编程之概论详细介绍
2015/03/04 Javascript
两种JS实现屏蔽鼠标右键的方法
2020/08/20 Javascript
ionic进入多级目录后隐藏底部导航栏(tabs)的完美解决方案
2016/11/23 Javascript
利用javascript实现的三种图片放大镜效果实例(附源码)
2017/01/23 Javascript
Angular中响应式表单的三种更新值方法详析
2017/08/22 Javascript
微信小程序使用checkbox显示多项选择框功能【附源码下载】
2017/12/11 Javascript
Webpack4 使用Babel处理ES6语法的方法示例
2019/03/07 Javascript
浅谈javascript中的prototype和__proto__的理解
2019/04/07 Javascript
使用Vue实现移动端左滑删除效果附源码
2019/05/16 Javascript
新手简单了解vue
2019/05/29 Javascript
JavaScript监听一个DOM元素大小变化
2020/04/26 Javascript
Django框架的使用教程路由请求响应的方法
2018/07/03 Python
Python实现蒙特卡洛算法小实验过程详解
2019/07/12 Python
Python 实现输入任意多个数,并计算其平均值的例子
2019/07/16 Python
拿来就用!Python批量合并PDF的示例代码
2020/08/10 Python
美国手工艺品市场的领导者:Annie’s
2019/04/04 全球购物
美国在线鞋类零售商:LifeStride
2019/06/09 全球购物
家乐福台湾线上购物网:Carrefour台湾
2020/09/15 全球购物
Groupon西班牙官方网站:在线优惠券和交易,节省高达70%
2021/03/13 全球购物
校三好学生主要事迹
2014/01/11 职场文书
2014年教师节讲话稿5篇
2014/09/10 职场文书
有子女的离婚协议书怎么写(范本)
2014/09/29 职场文书