Array
(
[0] => Array
(
[id] => 7
[workorder_id] => 27
[truck_id] => 4
[event_type] => 1
[location_id] =>
[location_name] => Billing Address
[address_address] => 123 Main Street
[address_city] => Montreal
[address_state] => QC
[address_zip] => A1A1A1
[address_country_id] => 1
[contact] => bob
[phone] => 555-555-555
[fax] => 555-555-555
[po] => 123131
[notes] =>
[appointment_from] => 2013-03-30 12:30:00
[appointment_to] => 2013-03-30 14:30:00
[crossdock] => 0
[status] => 1
)
[1] => Array
(
[id] => 8
[workorder_id] => 27
[truck_id] => 4
[event_type] => -1
[location_id] =>
[location_name] => Billing Address
[address_address] => 123 Main Street
[address_city] => Montreal
[address_state] => QC
[address_zip] => A1A1A1
[address_country_id] => 1
[contact] =>
[phone] => 555-555-555
[fax] =>
[po] =>
[notes] =>
[appointment_from] => 2013-04-04 06:00:00
[appointment_to] => 2013-04-04 12:00:00
[crossdock] => 0
[status] => 1
)
[2] => Array
(
[id] => 9
[workorder_id] => 27
[truck_id] => 4
[event_type] => 1
[location_id] =>
[location_name] => Billing Address
[address_address] => 123 Main Street
[address_city] => Montreal
[address_state] => QC
[address_zip] => A1A1A1
[address_country_id] => 2
[contact] => Jim Smith
[phone] => 555-555-555
[fax] => 555-555-555
[po] =>
[notes] =>
[appointment_from] => 2013-04-16 10:00:00
[appointment_to] => 2013-04-16 12:00:00
[crossdock] => 0
[status] => 1
)
)
好的,所以我有这个数组,我们称之为$ array。
我现在有一个按多个键对多维数组进行排序的功能。
function sort_multiple_keys($array,$key1,$key1_sort = SORT_DESC,$key2,$key2_sort = SORT_ASC){
$sort = array();
if(count($array) > 0){
foreach($array as $k=>$v) {
$first[$k] = $v[$key1];
$second[$k] = $v[$key2];
}
array_multisort($first, $key1_sort, $second, $key2_sort, $array);
}
unset($sort);
}
所以,我想按EVENT TYPE和APPOINTMENT_FROM日期对其进行排序。所以我运行这个函数:
sort_multiple_keys($array,'event_type',SORT_DESC,'appointment_from',SORT_ASC);
但没什么?
任何帮助?
答案 0 :(得分:0)
您实际上并未从排序函数返回值。
最后可以return $array
;或者将其作为参考传递,因此该函数适用于原始实例而不是副本;为此,您需要将函数定义更改为:
function sort_multiple_keys(&$array,$key1,$key1_sort = SORT_DESC,$key2,$key2_sort = SORT_ASC){
^ tells PHP that this variable is by reference