Home >Backend Development >PHP Tutorial >PHP one-dimensional and two-dimensional array key sorting method example summary, two-dimensional array example_PHP tutorial

PHP one-dimensional and two-dimensional array key sorting method example summary, two-dimensional array example_PHP tutorial

WBOY
WBOYOriginal
2016-07-13 10:14:18862browse

PHP one-dimensional and two-dimensional array key sorting method example summary, two-dimensional array example

The example in this article summarizes the PHP one-dimensional and two-dimensional array key sorting method. Share it with everyone for your reference. The specific method is as follows:

Array sorting in PHP has always been a commonplace issue. Let’s focus on the implementation procedures of one-dimensional array and two-dimensional array sorting in PHP. I believe it will be of certain reference value to everyone.

Function: Reorder array.

Description: Bubble sort (one-dimensional array) (two-dimensional array sorted by a certain key)

Compare the size of the data elements to be sorted pairwise, and if it is found that the order of the two data elements is reversed, swap them until there are no reversed data elements

Imagine the sorted array R[1..N] to be erected vertically, treat each data element as a weighted bubble, scan the array from bottom to top, and scan any light bubble that violates the principle, make it upward." "Float". Repeat this process until the last two qi are the lighter one at the top and the heavier one at the bottom.

Copy code The code is as follows:
/**
* Bubble sort (one-dimensional array) (two-dimensional array sorted by a certain key)
* Compare the sizes of the data elements to be sorted pairwise. If it is found that the order of the two data elements is reversed, exchange them until there are no reversed data elements
* Imagine that the sorted array R[1..N] is erected vertically, and each data element is regarded as a weighted bubble. The array is scanned from bottom to top. Any light bubbles that violate the principle are scanned and made to "float" upward. .Do this over and over again.
* Until the end of any two qi, the lighter one is at the top and the heavier one is at the bottom.
​*/
function bubble_sort($array,$key=null) {
          $count = count($array);
If($count < 0) {
              return false;
}
for($i = 0; $i < $count; $i++) {
for($j = $count - 1; $j > $i; $j--) {
If($key && isset($array[$key])){//The two-dimensional array exists
If($array[$j][$key] < $array[$j - 1][$key]) {
$tmp = $array[$j];
$array[$j] = $array[$j - 1];
$array[$j - 1] = $tmp;
                 }
                           }else{ //One-dimensional array
If($array[$j] < $array[$j - 1]) {
                               $tmp = $array[$j];
$array[$j] = $array[$j - 1];
$array[$j - 1] = $tmp;
                 }
                }
            }
}
          return $array;
}

How to use array_multisort sorting

How to use array_multisort() to sort a two-digit array according to the specified key value

In this example, a two-dimensional array named $data is defined and then sorted as follows

Copy code The code is as follows:
$data[] = array('volume' => 67, 'edition' => 2);
$data[] = array('volume' => 86, 'edition' => 1);
$data[] = array('volume' => 85, 'edition' => 6);
$data[] = array('volume' => 98, 'edition' => 2);
$data[] = array('volume' => 86, 'edition' => 6);
$data[] = array('volume' => 67, 'edition' => 7);

// Get the list of columns
foreach ($data as $key => $row) {
$volume[$key] = $row['volume'];
$edition[$key] = $row['edition'];
}

// Sort the data in descending order according to volume and in ascending order according to edition
// Use $data as the last parameter, sort by common key
array_multisort($volume, SORT_DESC, $edition, SORT_ASC, $data);
print_r($data);

The printed result after execution is as follows:

Copy code The code is as follows:
Array
(
[0] => Array
(
[volume] => 98
                                                                                                                                                            [edition] => 2
)
[1] => Array
(
[volume] => 86
                                                                                                                                                                  [edition] => 1
)
[2] => Array
(
[volume] => 86
                                                                                                                                                                                                                                                                                        [edition] =>                                                                             [3] => Array
(
[volume] => 85
                                                                                                                                                                                                                                                                                        [edition] => )
[4] => Array
(
[volume] => 67
                                                                                                                                                            [edition] => 2
)
[5] => Array
(
[volume] => 67
                                                                                                                                                                                                                                          [edition] => )
)


To sort one-dimensional arrays, we only need to use sort(). The corresponding asort($arr); function is to sort by key value and maintain the original key-value relationship.
Same principle, rsort(); arsort(); krsort(); function is the same as sort(); rsort(); ksort(); except that the sorting is in descending order.

I hope this article will be helpful to everyone’s PHP programming design.

http://www.bkjia.com/PHPjc/910587.html

www.bkjia.com

http: //www.bkjia.com/PHPjc/910587.htmlTechArticlephp one-dimensional and two-dimensional array key sorting method example summary, two-dimensional array example This article summarizes the php one-dimensional and two-dimensional array key sorting method example Dimensional array key sorting method. Share it with everyone for your reference. The specific method is as follows:...
Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn