PHP array_multisort()Functions

PHP Array ReferenceComplete PHP Array Reference

Examples

Return an array sorted in ascending order:

<?php
$a=array("Dog","Cat","Horse","Bear","Zebra");
array_multisort($a);
print_r($a);
?>

Run Example »

Definition and Usage

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. If two or more values are the same, it sorts the next array.

Note:String keys will be preserved, but numeric keys will be re-indexed, starting from 0 and increasing 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...)

Parameter Description
array1 Required. Specifies an array.
sorting order Optional. Specifies the sorting order. Possible values:
  • SORT_ASC - Default. Sort in ascending order (A-Z).
  • SORT_DESC - Sort in descending order (Z-A).
sorting type Optional. Specifies the sort type. Possible values:
  • SORT_REGULAR - Default. Arrange each item in regular order (Standard ASCII, without changing types).
  • 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 (which can besetlocale()changed).
  • SORT_NATURAL - Treat each item as a string, using natural ordering similar tonatsort()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+
Changelog: The SORT_NATURAL and SORT_FLAG_CASE sort types were added in PHP 5.4.

The SORT_LOCALE_STRING sort type 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);
?>

Run Example »

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);
?>

Run Example »

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);
?>

Run Example »

Example 4

Merge two arrays and sort in descending numeric 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);
?>

Run Example »


PHP Array ReferenceComplete PHP Array Reference Other Extensions