欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

php 代碼優(yōu)化之經典示例

 更新時間:2011年03月24日 23:05:42   作者:  
今天碰到了這么一個問題,處理的數(shù)組$tempArray為如下所示形式(key已經排序),然后要根據(jù)這個結果進行分塊的處理
我用的方法是按key區(qū)分塊,然后在將塊賦給其他的變量,然后再進行一些操作,這樣用到了很多的for和foreach,而且代碼量也很大,所以被退回來了。

經過上面的指導,發(fā)現(xiàn)真的好簡單,現(xiàn)在與大家一同分享。

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

現(xiàn)在有如上所示的結果

要求:要對這個已經按key進行排序了的數(shù)組進行操作,相同key的項進行處理。

提示:這個是很典型的母子表的結構,也就是說其實它是兩張表的合并,可以這樣處理成兩個數(shù)組,方便數(shù)組里面對塊的操作
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

實現(xiàn)如上數(shù)組分離代碼

這樣后,訪問tempArray的塊數(shù)據(jù)就非常方便了

foreach($tempArray as $row){

  array1[$row['ID']] = $row['Key'];

  array2[$row['Key']][] = $row;

}

訪問和處理代碼

foreach($array1 as $ID => $Key){

  $this->doSomeThing($ID);

  //訪問tempArray的塊數(shù)組$array2[$Key]

  $this->doSomeThing2($array2[$Key]);

}

相關文章

最新評論