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 相关文章推荐
Snoopy类使用小例子
Apr 15 PHP
怎样去阅读一份php源代码
Aug 21 PHP
php中使用explode查找某个字符是否存在的方法
Jul 12 PHP
PHP四种基本排序算法示例
Apr 09 PHP
php超快高效率统计大文件行数
Jul 05 PHP
Yii2框架引用bootstrap中日期插件yii2-date-picker的方法
Jan 09 PHP
PHP微信红包生成代码分享
Oct 06 PHP
php性能分析之php-fpm慢执行日志slow log用法浅析
Oct 17 PHP
thinkPHP模板中for循环与switch语句用法示例
Nov 30 PHP
php页面跳转session cookie丢失导致不能登录等问题的解决方法
Dec 12 PHP
PHP文字转图片功能原理与实现方法分析
Aug 31 PHP
thinkPHP和onethink微信支付插件分享
Aug 11 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实现删除字符串中任何字符的函数
2015/08/11 PHP
给WordPress中的留言加上楼层号的PHP代码实例
2015/12/14 PHP
javascript multibox 全选
2009/03/22 Javascript
判断用户是否在线的代码
2011/03/05 Javascript
用JS实现一个TreeMenu效果分享
2011/08/28 Javascript
jQuery中get()方法用法实例
2014/12/27 Javascript
JS自定义选项卡函数及用法实例分析
2015/09/02 Javascript
JavaScript中Object.prototype.toString方法的原理
2016/02/24 Javascript
jQuery 获取多选框的值及多选框中文的函数
2016/05/16 Javascript
Angular.js中$apply()和$digest()的深入理解
2016/10/13 Javascript
浅谈js数组和splice的用法
2016/12/04 Javascript
清除输入框内的空格
2016/12/21 Javascript
微信小程序实现图片自适应(支持多图)
2017/01/25 Javascript
JS实现图片手风琴效果
2020/04/17 Javascript
node删除、复制文件或文件夹示例代码
2019/08/13 Javascript
mpvue微信小程序开发之实现一个弹幕评论
2019/11/24 Javascript
Node.js创建一个Express服务的方法详解
2020/01/06 Javascript
vue实现购物车的监听
2020/04/20 Javascript
ReactRouter的实现方法
2021/01/25 Javascript
[10:42]Team Liquid Vs Newbee
2018/06/07 DOTA
Python中的元类编程入门指引
2015/04/15 Python
对Python生成汉字字库文字,以及转换为文字图片的实例详解
2019/01/29 Python
python装饰器常见使用方法分析
2019/06/26 Python
python覆盖写入,追加写入的实例
2019/06/26 Python
使用Python的datetime库处理时间(RPA流程)
2019/11/24 Python
python设置环境变量的作用整理
2020/02/17 Python
Pycharm修改python路径过程图解
2020/05/22 Python
Penhaligon’s英国官网:成立于1870年的英国香水制造商
2021/02/18 全球购物
生物制药自我鉴定
2014/01/25 职场文书
2014标准社保办理委托书
2014/10/06 职场文书
2015年母亲节活动策划方案
2015/05/04 职场文书
新手开公司创业注意事项有哪些?
2019/07/29 职场文书
推荐六本经典文学奖书籍:此生必读
2019/08/22 职场文书
MySQL EXPLAIN输出列的详细解释
2021/05/12 MySQL
vue实现水波涟漪效果的点击反馈指令
2021/05/31 Vue.js
MYSQL优化之数据表碎片整理详解
2022/04/03 MySQL