php 代码优化之经典示例_PHP
Jun 01, 2016 pm 12:17 PM
我用的方法是按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]);
}

Hot Article

Hot tools Tags

Hot Article

Hot Article Tags

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics

PHP 8.4 Installation and Upgrade guide for Ubuntu and Debian

How To Set Up Visual Studio Code (VS Code) for PHP Development
