THE WORLD'S LARGEST WEB DEVELOPER SITE

PHP Tutorial

PHP HOME PHP Intro PHP Install PHP Syntax PHP Comments PHP Variables PHP Echo / Print PHP Data Types PHP Strings PHP Numbers PHP Constants PHP Operators PHP If...Else...Elseif PHP Switch PHP Loops PHP Functions PHP Arrays PHP Superglobals

PHP Forms

PHP Form Handling PHP Form Validation PHP Form Required PHP Form URL/E-mail PHP Form Complete

PHP Advanced

PHP Date and Time PHP Include PHP File Handling PHP File Open/Read PHP File Create/Write PHP File Upload PHP Cookies PHP Sessions PHP Filters PHP Filters Advanced PHP JSON

PHP OOP

PHP What is OOP PHP Classes/Objects PHP Constructor PHP Destructor PHP Access Modifiers PHP Inheritance PHP Constants PHP Abstract Classes PHP Traits PHP Static Methods PHP Static Properties

MySQL Database

MySQL Database MySQL Connect MySQL Create DB MySQL Create Table MySQL Insert Data MySQL Get Last ID MySQL Insert Multiple MySQL Prepared MySQL Select Data MySQL Where MySQL Order By MySQL Delete Data MySQL Update Data MySQL Limit Data

PHP XML

PHP XML Parsers PHP SimpleXML Parser PHP SimpleXML - Get PHP XML Expat PHP XML DOM

PHP - AJAX

AJAX Intro AJAX PHP AJAX Database AJAX XML AJAX Live Search AJAX Poll

PHP Examples

PHP Examples PHP Quiz PHP Exercises PHP Certificate

PHP Reference

PHP Overview PHP Array PHP Calendar PHP Date PHP Directory PHP Error PHP Filesystem PHP Filter PHP FTP PHP JSON PHP Libxml PHP Mail PHP Math PHP Misc PHP MySQLi PHP Network PHP SimpleXML PHP Stream PHP String PHP Variable Handling PHP XML Parser PHP Zip PHP Timezones

PHP array_multisort() Function

❮ PHP Array Reference

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:
  • SORT_ASC - Default. Sort in ascending order (A-Z)
  • SORT_DESC - Sort in descending order (Z-A)
sorttype Optional. Specifies the type to use, when comparing elements. Possible values:
  • SORT_REGULAR - Default. Compare elements normally (Standard ASCII)
  • SORT_NUMERIC - Compare elements as numeric values
  • SORT_STRING - Compare elements as string values
  • SORT_LOCALE_STRING - Compare elements as string, based on the current locale (can be changed using setlocale())
  • SORT_NATURAL - Compare elements as strings using "natural ordering" 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


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