<?php /** * Example of sorting array of objects * */
//test data $ar = array();
$o = new stdClass(); $o->name = 'Terry'; $o->surname = 'Cook'; $o->addr = new stdClass(); $o->addr->street = 'ABBAY ROAD'; $o->addr->no = '10'; $o->salary = 25000; $ar[0] = $o;
$o = new stdClass(); $o->name = 'Anna'; $o->surname = 'Smith'; $o->addr = new stdClass(); $o->addr->street = 'STREATHAM PLACE'; $o->addr->no = '1'; $o->salary = 15000; $ar[1] = $o;
$o = new stdClass(); $o->name = 'John'; $o->surname = 'Doe'; $o->addr = new stdClass(); $o->addr->street = 'GAUNT STREET'; $o->addr->no = '101'; $o->salary = 30000; $ar[2] = $o;
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));
|