php 代码优化之经典事例
2011-03-24 20:21
253 查看
今天碰到了这么一个问题,处理的数组$tempArray为如下所示形式(key已经排序),然后要根据这个结果进行分块的处理,我用的方法是按key区分块,然后在将块赋给其他的变量,然后再进行一些操作,这样用到了很多的for和foreach,而且代码量也很大,所以被退回来了。
经过上面的指导,发现真的好简单,现在与大家一同分享。
现在有如上所示的结果
要求:要对这个已经按key进行排序了的数组进行操作,相同key的项进行处理。
提示:这个是很典型的母子表的结构,也就是说其实它是两张表的合并,可以这样处理成两个数组,方便数组里面对块的操作
array1:ID|Key
array2:key => array(ID,FIELD1,FIELD2,FIELD3,FIELD4,FIELD5,Key)
实现如上数组分离代码
这样后,访问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]);
}
经过上面的指导,发现真的好简单,现在与大家一同分享。
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 |
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 代码优化之经典示例
- 优化PHP代码的40条建议
- php教程:经典PHP代码
- php代码优化的方法
- 优化PHP代码的40条建议
- PHP代码优化24条方案
- 优化PHP代码的42条建议
- PHP代码的40条优化建议
- 优化PHP代码的40条建议
- PHP代码优化之include
- 优化 PHP 代码技巧
- 40条优化php代码的小实例
- PHP代码质量优化
- 优化 PHP 代码建议
- php 最基础优化代码
- 优化PHP代码的40条建议
- eclipse完美配置PHP开发环境 ;(下载 安装 配置php自动提示代码 优化eclipse)
- php无限分类 树状菜单经典代码
- 40个技巧优化你的php代码