PHP array_multisort() function
Example
Return an array sorted in ascending order:
<?php $a=array("Dog","Cat","Horse","Bear","Zebra"); array_multisort($a); print_r($a); ?>
Definition and Usage
The array_multisort() function returns a sorted array. You can input one or more arrays. The function first sorts the first array, followed by other arrays, and if two or more values are the same, it will sort the next array.
Note:String keys will be retained, but numeric keys will be reindexed starting from 0 and incremented by 1.
Note:You can set the sorting order and sorting type parameters after each array. If not set, each array parameter will use the default value.
Syntax
array_multisort(array1,sorting order,sorting type,array2,array3...)
Parameters | Description |
---|---|
array1 | Required. Specify an array. |
sorting order |
Optional. Specify the sorting order. Possible values:
|
sorting type |
Optional. Specify the sorting type. Possible values:
|
array2 | Optional. Specify an array. |
array3 | Optional. Specify an array. |
Description
The array_multisort() function sorts multiple arrays or multidimensional arrays.
The array in the parameter is treated as a table column and sorted by row - this is similar to the functionality of the ORDER BY clause in SQL. The first array is the main array to be sorted. If the rows (values) in the array are compared as the same, they will be sorted according to the size of the corresponding values in the next input array, and so on.
The first parameter is an array, and each subsequent parameter may be an array or one of the following sorting order flags (sorting flags are used to change the default sorting order):
- SORT_ASC - Default, arrange in ascending order. (A-Z)
- SORT_DESC - Arrange in descending order. (Z-A)
You can then specify the type of sorting:
- SORT_REGULAR - Default. Arrange each item in regular order.
- SORT_NUMERIC - Arrange each item in numerical order.
- SORT_STRING - Sort each item in alphabetical order.
Technical Details
Return Value: | Returns TRUE if successful, and FALSE if failed. |
PHP Version: | 4+ |
Update Log: |
The sorting types SORT_NATURAL and SORT_FLAG_CASE were added in PHP 5.4. The sorting type SORT_LOCALE_STRING was added in PHP 5.3. |
More Examples
Example 1
Return an array sorted in ascending order:
<?php $a1 = array("Dog", "Cat"); $a2 = array("Fido", "Missy"); array_multisort($a1, $a2); print_r($a1); print_r($a2); ?>
Example 2
How to sort when two values are the same:
<?php $a1 = array("Dog", "Dog", "Cat"); $a2 = array("Pluto", "Fido", "Missy"); array_multisort($a1, $a2); print_r($a1); print_r($a2); ?>
Example 3
Using sorting parameters:
<?php $a1 = array("Dog", "Dog", "Cat"); $a2 = array("Pluto", "Fido", "Missy"); array_multisort($a1, SORT_ASC, $a2, SORT_DESC); print_r($a1); print_r($a2); ?>
Example 4
Merge two arrays and sort them in descending order by number:
<?php $a1 = array(1, 30, 15, 7, 25); $a2 = array(4, 30, 20, 41, 66); $num = array_merge($a1, $a2); array_multisort($num, SORT_DESC, SORT_NUMERIC); print_r($num); ?>