Thanks in advance for your help
Jonathan Pitcher
################################################### Begin Code ###################################################
I have a multilevel array:
$EA = array();
$EA[0]["STARTDATE"] = "2003:03:01";
$EA[0]["ENDDATE"] = "2003:03:01";
$EA[0]["STARTTIME"] = "7:30";
$EA[0]["ENDTIME"] = "8:30";
$EA[1]["STARTDATE"] = "2003:02:01";
$EA[1]["ENDDATE"] = "2003:03:01";
$EA[1]["STARTTIME"] = "7:30";
$EA[1]["ENDTIME"] = "8:30";
$EA[2]["STARTDATE"] = "2003:03:01";
$EA[2]["ENDDATE"] = "2003:03:01";
$EA[2]["STARTTIME"] = "8:30";
$EA[2]["ENDTIME"] = "9:30";
$EA[3]["STARTDATE"] = "2003:03:01";
$EA[3]["ENDDATE"] = "2003:03:01";
$EA[3]["STARTTIME"] = "7:30";
$EA[3]["ENDTIME"] = "8:30";
$EA[4]["STARTDATE"] = "2003:03:01";
$EA[4]["ENDDATE"] = "2003:03:02";
$EA[4]["STARTTIME"] = "7:30";
$EA[4]["ENDTIME"] = "8:30";
usort($EA, "compareall");
print_r($EA);
function compareall($A, $B)
{
if ($A["STARTDATE"] < $B["STARTDATE"])
{
return 4;
}
else if ($A["STARTTIME"] < $B["STARTTIME"])
{
return 3;
}
else if ($A["ENDDATE"] > $B["ENDDATE"])
{
return 2;
}
else if ($A["ENDTIME"] > $B["ENDTIME"])
{
return 1;
}
else if ($A["STARTDATE"] > $B["STARTDATE"])
{
return -4;
}
else if ($A["STARTIME"] > $B["STARTTIME"])
{
return -3;
}
else if ($A["ENDDATE"] < $B["ENDDATE"])
{
return -2;
}
else if ($A["ENDTIME"] < $B["ENDTIME"])
{
return -1;
}
else
{
return 0;
}
}This prints:
Array
(
[0] => Array
(
[STARTDATE] => 2003:03:01
[ENDDATE] => 2003:03:01
[STARTTIME] => 7:30
[ENDTIME] => 8:30
) [1] => Array
(
[STARTDATE] => 2003:03:01
[ENDDATE] => 2003:03:01
[STARTTIME] => 7:30
[ENDTIME] => 8:30
) [2] => Array
(
[STARTDATE] => 2003:03:01
[ENDDATE] => 2003:03:02
[STARTTIME] => 7:30
[ENDTIME] => 8:30
) [3] => Array
(
[STARTDATE] => 2003:02:01
[ENDDATE] => 2003:03:01
[STARTTIME] => 7:30
[ENDTIME] => 8:30
) [4] => Array
(
[STARTDATE] => 2003:03:01
[ENDDATE] => 2003:03:01
[STARTTIME] => 8:30
[ENDTIME] => 9:30
)) I want it to print this:
Array
(
[0] => Array
(
[STARTDATE] => 2003:02:01
[ENDDATE] => 2003:03:01
[STARTTIME] => 7:30
[ENDTIME] => 8:30
) [1] => Array
(
[STARTDATE] => 2003:03:01
[ENDDATE] => 2003:03:01
[STARTTIME] => 7:30
[ENDTIME] => 8:30
) [2] => Array
(
[STARTDATE] => 2003:03:01
[ENDDATE] => 2003:03:01
[STARTTIME] => 7:30
[ENDTIME] => 8:30
) [3] => Array
(
[STARTDATE] => 2003:03:01
[ENDDATE] => 2003:03:01
[STARTTIME] => 8:30
[ENDTIME] => 9:30
) [4] => Array
(
[STARTDATE] => 2003:03:01
[ENDDATE] => 2003:03:02
[STARTTIME] => 7:30
[ENDTIME] => 8:30
))

