PHP コードの古典的な例最適化_PHP チュートリアル

WBOY
リリース: 2016-07-21 15:31:33
オリジナル
749 人が閲覧しました

我用的方法是按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 =>配列(ID,FIELD1,FIELD2,FIELD3,FIELD4,FIELD5,キー)


ID
フィールド1
フィールド2 フィールド3 フィールド4 キー
肉1=>
1
*** *** *** *** 肉1
2
*** *** *** *** 肉1
3
*** *** *** *** 肉1
4 *** *** *** *** 肉1
フルーツ2=> 5
*** *** *** *** フルーツ2
6 *** *** *** *** フルーツ2
7
*** *** *** *** フルーツ2
8
*** *** *** *** フルーツ2
9
*** *** *** *** フルーツ2
食べ物3=> 10
*** *** *** *** 食べ物3
11
*** *** *** *** 食べ物3

实现如上数组分离代码

その後、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]);

}

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/323010.html技術記事私が使用した方法は、キーを区別してから、他の量を割り当ててから、さらにいくつかの操作を実行することです。これにより、for と foreach が非常に多くなり、コード量も膨大になるため、退却されます...
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート