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