Return an array sorted in ascending order:
<?php$a=array("Dog","Cat","Horse","Bear","Zebra");array_multisort($a);print_r($a);?>The array_multisort() function returns a sorted array. You can enter one or more arrays. The function sorts the first array first, then the other arrays, and if two or more values are the same, it sorts the next array.
Note: String key names will be preserved, but numeric key names will be re-indexed, starting at 0 and increasing by 1.
Note: You can set the sort order and sort type parameters after each array. If not set, each array parameter will use its default value.
array_multisort( array1,sorting order,sorting type,array2,array3... )
parameter | describe |
---|---|
array1 | Required. Specifies an array. |
sorting order | Optional. Specify the order of sorting. Possible values: SORT_ASC - Default. Sort in ascending order (AZ). SORT_DESC - Sort in descending order (ZA). |
sorting type | Optional. Specifies the sorting type. Possible values: SORT_REGULAR - Default. Put each item in regular order (Standard ASCII, don't change the type). SORT_NUMERIC - treat each item as a number. SORT_STRING - Treat each item as a string. SORT_LOCALE_STRING - Treat each item as a string, based on the current locale (can be changed with setlocale()). SORT_NATURAL - Treat each item as a string, using natural sorting like natsort(). SORT_FLAG_CASE - Can be combined (bitwise OR) with SORT_STRING or SORT_NATURAL to sort strings, case-insensitively. |
array2 | Optional. Specifies an array. |
array3 | Optional. Specifies an array. |
Return value: | Returns TRUE if successful and FALSE if failed. |
---|---|
PHP version: | 4+ |
Update log: | Sorting types SORT_NATURAL and SORT_FLAG_CASE are new in PHP 5.4. The sort type SORT_LOCALE_STRING is new in PHP 5.3. |
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 );?>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);?>Use sort 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);?>Merge two arrays and sort them numerically in descending order:
<?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);?>