Wednesday, 24 September 2014

array_multisort in PHP

array_multisort() function is utilized to sort multiple arrays or a multidimensional array by one or more extents.

Syntax:

array_multisort(array1,sorting order,sorting type,array2,array3...)
Parameters 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 type to use, when comparing elements.
Possible values:
  • SORT_REGULAR Default. Compare elements normally
  • SORT_NUMERIC Compare elements as numeric values
  • SORT_STRING Compare elements as string values
array2 : Optional. Specifies an array
array3 : Optional. Specifies an array

Tip : You can assign only one array to the array_multisort() function, or as many as you like.
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 sorting order and the sorting type parameters after each array. If you don't, each array parameter uses the default values.

Example :

<?php
$daysarr1 = array( "Sunday","Monday" );
$daysarr2 = array("Tuesday","Wednesday");
array_multisort($daysarr1,$daysarr2);
echo "<br />"."simple example of multisort";
print_r($daysarr1);
print_r($daysarr2);
$daysarr1 = array("Sunday","Sunday","Monday");
$daysarr2 = array("Wednesday","Thursday","Friday");
array_multisort($daysarr1,$daysarr2);
echo "<br />"."using multisort when two values are same";
print_r($daysarr1);
print_r($daysarr2);
$daysarr1 = array("Sunday","Sunday',"Monday");
$daysarr2 = array("Wednesday","Thursday","Friday");
array_multisort($daysarr1,SORT_ASC,$daysarr2,SORT_DESC);
echo "<br />"."using sorting parameters";
print_r($daysarr1);
print_r($daysarr2);
?>

O/P:


simple example of multisort
Array (
         [0] => Monday
         [1] => Sunday 
        )
Array ( 
        [0] => Wednesday 
        [1]=> Tuesday
       )
using multisort when two values are same
Array (
         [0] => Monday
         [1] => Sunday
         [2] => Sunday
       )
Array (
         [0] => Friday 
         [1] => Thursday
         [2] => Wednesday
        )
using sorting parameters
Array ( 
         [0] => Monday
         [1] => Sunday 
         [2] => Sunday
        )
Array (
         [0] => Friday
         [1] => Thursday
         [2] => Wednesday
        )

0 comments:

Post a Comment