程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> php 代碼優化之經典示例

php 代碼優化之經典示例

編輯:關於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]);

}

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved