| 
<?
require("arr_multisort.class.php");
 
 //Sample array - same format would be returned by mysql_fetch_assoc.
 $sample_arr = array (
 array   (
 "UserName"  => "Usr1",
 "Sex"       => "male",
 "Country"   => "US",
 "Children"  => 3,
 "BirthDate" => "1970-07-21"
 ),
 array   (
 "UserName"  => "TheUser",
 "Sex"       => "female",
 "Country"   => "Canada",
 "Children"  => 0,
 "BirthDate" => "1975-11-05"
 ),
 array   (
 "UserName"  => "Blah",
 "Sex"       => "male",
 "Country"   => "US",
 "Children"  => 1,
 "BirthDate" => "13 Feb 1964"
 ),
 array   (
 "UserName"  => "Makumba",
 "Sex"       => "female",
 "Country"   => "Mozambik",
 "Children"  => 12,
 "BirthDate" => "1980-06-29"
 ),
 );
 
 
 //Instantiate the class
 $srt = new arr_multisort();
 //Set the array to be sorted
 $srt->setArray($sample_arr);
 ?>
 Starting array (unsorted):<br>
 <?
 $srt->sort();
 dump_arr($sample_arr);
 
 
 //Sort by sex descending and children ascending
 $srt->addColumn("Sex",SRT_DESC);
 $srt->addColumn("Children",SRT_ASC);
 
 $sample_arr = $srt->sort();
 
 ?>
 Array sorted by sex descending and children ascending<br>
 <?
 dump_arr($sample_arr);
 
 //Sort by sex ascending and Birth date decending
 $srt->resetColumns();
 $srt->addColumn("Sex",SRT_ASC);
 $srt->addColumn("BirthDate",SRT_DESC);
 
 $sample_arr = $srt->sort();
 ?>
 Array sorted by sex ascending and Birth date decending<br>
 <?
 dump_arr($sample_arr);
 
 //Sort array using a custom compare function for BirthDate column
 $srt->resetColumns();
 $srt->addColumn("Sex",SRT_ASC);
 $srt->addColumn("BirthDate",SRT_DESC,"myCompare");
 
 $sample_arr = $srt->sort();
 ?>
 Array sorted by sex ascending and Birth date decending using custom compare function for birth date<br>
 <?
 dump_arr($sample_arr);
 ?>
 
 <?
 //Functions
 
 //Dump the array
 function dump_arr(&$sample_arr){
 ?>
 <table width="90%" border="1" cellspacing="0" cellpadding="0">
 <tr>
 <?
 $Cols = array_keys($sample_arr[0]);
 foreach($Cols as $col){
 ?>
 <td align="center"><strong><?print($col);?></strong></td>
 <?
 }
 ?>
 </tr>
 <?
 foreach($sample_arr as $row){
 ?>
 <tr>
 <?
 foreach($row as $nm => $val){
 ?>
 <td align="left"><?print($val)?></td>
 <?
 }
 ?>
 </tr>
 <?
 }
 ?>
 </table>
 <?
 }
 
 function myCompare($a,$b){
 return strnatcasecmp($a,$b);
 }
 ?>
 
 |