我想按日期使用usort()排序多维数组,但我似乎无法使其工作。按日期排序多维数组使用日期
开始阵列:
$dayEvents = array();
$dayEvents['output'] = array();
而且它被赋予像这样:
$dayEvents['output'][] = array('date' => $dateStamp, 'data' => $dataOutput, 'ad' => $allDay);
输出示例:
array(1) {
["output"]=>
array(6) {
[0]=>
array(3) {
["date"]=>
string(19) "2014-03-12 00:00:00"
["data"]=>
string(115) "
2 tests were booked
"
["ad"]=>
int(1)
}
[1]=>
array(3) {
["date"]=>
string(19) "2014-03-12 08:30:00"
["data"]=>
string(316) "
08:30am
Matamata Class 1 R & F
"
["ad"]=>
int(0)
}
[2]=>
array(3) {
["date"]=>
string(19) "2014-03-12 08:00:00"
["data"]=>
string(319) "
08:00am-04:00pm
Truck Course
"
["ad"]=>
int(0)
}
[3]=>
array(3) {
["date"]=>
string(19) "2014-03-12 08:00:00"
["data"]=>
string(328) "
08:00am-03:30pm
Trade Ed Rot Class 2
"
["ad"]=>
int(0)
}
[4]=>
array(3) {
["date"]=>
string(19) "2014-03-12 08:00:00"
["data"]=>
string(326) "
08:00am-03:30pm
Trade Ed Tga Class 2
"
["ad"]=>
int(0)
}
[5]=>
array(3) {
["date"]=>
string(19) "2014-03-12 17:00:00"
["data"]=>
string(330) "
05:00pm-08:00pm
Tauranga Truck Course
"
["ad"]=>
int(0)
}
}
}
对它进行排序的语句:
if(count($dayEvents['output'])>1) {
uasort($dayEvents, 'date_compare');
}
和函数本身:
function date_compare($a, $b) {
return strtotime($a['date']) > strtotime($b['date']);
}
最后输出数据
foreach($dayEvents as $outputData) {
$calendar .= $outputData['data'];
}
但它只是不按日期排序,而我得到的错误Notice: Undefined index: data
灿任何人看到我要去哪里错了?我以前从未使用过usort,并且我试图从这里的问题开始遵循的所有说明似乎都不起作用。
你能后的代码的较大块?另外,你知道哪一行产生错误吗? – larsAnders