Typical Example of php code optimization

Source: Internet
Author: User

The method I used is to differentiate blocks by key, assign the blocks to other variables, and then perform some operations. In this way, a lot of for and foreach are used, and the code is large, so it is returned.

After the guidance above, I found it really easy to share with you.

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

The result is as shown above.

Requirement: to operate on the array that has been sorted by key, the items with the same key are processed.

Tip: this is a typical parent-child table structure. That is to say, it is actually a combination of two tables. It can be processed into two arrays to facilitate block operations in the array.
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

Implement the preceding array separation code

In this way, it is very convenient to access the block data of tempArray.

Foreach ($ tempArray as $ row ){

Array1 [$ row ['id'] = $ row ['key'];

Array2 [$ row ['key'] [] = $ row;

}

Access and Process Code

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

$ This-> doSomeThing ($ ID );

  // Access the block array of tempArray $ array2 [$ Key]

$ This-> doSomeThing2 ($ Array2 [$ Key]);

}

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.