PHP array_multisort() Function
Example
Return a sorted array in ascending order:
<?php
$a=array("Dog","Cat","Horse","Bear","Zebra");
array_multisort($a);
print_r($a);
?>
Try it Yourself »
Definition and Usage
The array_multisort() function returns a sorted array. You can assign one or more arrays. The function sorts the first array, and the other arrays follow, then, if two or more values are the same, it sorts the next array, and so on.
Note: String keys will be maintained, but numeric keys will be re-indexed, starting at 0 and increase by 1.
Note: You can assign the sortorder and the sorttype parameters after each array. If not specified, each array parameter uses the default values.
Syntax
array_multisort(array1, sortorder, sorttype, array2, array3, ...)
Parameter Values
Parameter | Description |
---|---|
array1 | Required. Specifies an array |
sortorder | Optional. Specifies the sorting order. Possible values:
|
sorttype | Optional. Specifies the type to use, when comparing elements. Possible values:
|
array2 | Optional. Specifies an array |
array3 | Optional. Specifies an array |
Technical Details
Return Value: | Returns TRUE on success or FALSE on failure |
---|---|
PHP Version: | 4+ |
PHP Changelog: | PHP 5.4: Added sorting type SORT_NATURAL and SORT_FLAG_CASE PHP 5.3: Added sorting type SORT_LOCALE_STRING |
More Examples
Example
Return a sorted array in ascending order:
<?php
$a1=array("Dog","Cat");
$a2=array("Fido","Missy");
array_multisort($a1,$a2);
print_r($a1);
print_r($a2);
?>
Try it Yourself »
Example
See how it sorts 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);
?>
Try it Yourself »
Example
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);
?>
Try it Yourself »
Example
Merge two arrays and sort them as numbers, 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);
?>
Try it Yourself »
❮ PHP Array Reference