php 代码优化之经典示例

5年以前  |  阅读数:1122 次  |  编程语言:PHP 

我用的方法是按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分页显示制作详细讲解
SSH 登录失败:Host key verification failed
获取IMSI
将二进制数据转为16进制以便显示
获取IMEI
文件下载
贪吃蛇
双位运算符
PHP自定义函数获取搜索引擎来源关键字的方法
Java生成UUID
发送邮件
年的日历图
提取后缀名
在Zeus Web Server中安装PHP语言支持
让你成为最历害的git提交人
Yii2汉字转拼音类的实例代码
再谈PHP中单双引号的区别详解
指定应用ID以获取对应的应用名称
Python 2与Python 3版本和编码的对比
php封装的page分页类完整实例