<?php 
/** 
* Example of sorting multidimensional array 
* 
*/ 
 
//test data 
$ar = array(); 
$ar[0]['name'] = 'Terry'; 
$ar[0]['surname'] = 'Cook'; 
$ar[0]['addr']['street'] = 'ABBAY ROAD'; 
$ar[0]['addr']['no'] = '10'; 
$ar[0]['salary'] = 25000; 
 
$ar[1]['name'] = 'Anna'; 
$ar[1]['surname'] = 'Smith'; 
$ar[1]['addr']['street'] = 'STREATHAM PLACE'; 
$ar[1]['addr']['no'] = '1'; 
$ar[1]['salary'] = 15000; 
 
$ar[2]['name'] = 'John'; 
$ar[2]['surname'] = 'Doe'; 
$ar[2]['addr']['street'] = 'GAUNT STREET'; 
$ar[2]['addr']['no'] = '101'; 
$ar[2]['salary'] = 30000; 
 
require('sorter.php'); 
 
//initialize sorter 
$oSorter = new ArraySorter(); 
//set data to sort 
$oSorter->setArray($ar); 
 
echo "<pre>"; 
//sort by addr street ascending 
print_r($oSorter->sort('addr.street', ArraySorter::DIRECTION_ASC)); 
 
echo '<hr />'; 
//sort by salary descending 
print_r($oSorter->sort('salary', ArraySorter::DIRECTION_DESC));
 
 |