usort() : Invalid comparison function
Posted: Sat Sep 02, 2006 2:27 pm
I have an array of data with dates in an I want to sort it by date. I'm using:
I can see no reason why this doesn't work and yet I get
Here is the output from that print_r(), yes I know its already in order but I want to ensure it always will be. This array has been created from XML so I can't use ORDER BY.
This......gives me...
Code: Select all
print_r($aEvents);
usort($aEvents, 'dateSort');
function dateSort($one, $two)
{
$one = strtotime($one['dateRange'][0]);
$two = strtotime($two['dateRange'][0]);
return $one - $two;
}Code: Select all
<b>Warning</b>: usort() [<a href='http://uk.php.net/function.usort'>function.usort</a>]: Invalid comparison functionCode: Select all
Array
(
[0] => Array
(
[dateRange] => Array
(
[0] => 2006-09-03
[1] => 2006-09-03
)
[name] => ITF England Squad training
)
[1] => Array
(
[dateRange] => Array
(
[0] => 2006-09-10
[1] => 2006-09-10
)
[name] => ITF England Squad training
)
[2] => Array
(
[dateRange] => Array
(
[0] => 2006-09-17
[1] => 2006-09-17
)
[name] => ITF England Squad training
)
[3] => Array
(
[dateRange] => Array
(
[0] => 2006-09-23
[1] => 2006-09-23
)
[name] => ETA Colour Belt seminar
)
[4] => Array
(
[dateRange] => Array
(
[0] => 2006-09-24
[1] => 2006-09-24
)
[name] => ETA Black belt grading & 2nd Kup and above seminar
)
<<snip>>Code: Select all
var_dump(dateSort($aEvents[0], $aEvents[1]));
var_dump(dateSort($aEvents[1], $aEvents[0]));Code: Select all
int(-604800) int(604800)