最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

 更新時間:2011年03月24日 23:05:42   作者:  
今天碰到了這么一個問題,處理的數組$tempArray為如下所示形式(key已經排序),然后要根據這個結果進行分塊的處理
我用的方法是按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進行排序了的數組進行操作,相同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

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

這樣后,訪問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]);

}

相關文章

最新評論

定陶县| 翼城县| 湛江市| 东方市| 千阳县| 兴义市| 龙门县| 吉木乃县| 兴业县| 遂川县| 昌都县| 安庆市| 塘沽区| 铁力市| 监利县| 广安市| 天祝| 同江市| 龙井市| 枝江市| 阳东县| 龙州县| 博白县| 丹凤县| 水城县| 大渡口区| 伊金霍洛旗| 新绛县| 清河县| 酉阳| 文山县| 佛坪县| 西丰县| 辽阳市| 邵武市| 新丰县| 阳西县| 临泽县| 泊头市| 泰宁县| 鄂州市|