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
truehttp: //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:...