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