Php 如何按已定义键的值对关联数组排序
希望按键的值对数组排序,但在web中找不到解决方案 我想在PHP中对这个数组按键进行排序DESC是从原始数组开始的:Php 如何按已定义键的值对关联数组排序,php,arrays,sorting,Php,Arrays,Sorting,希望按键的值对数组排序,但在web中找不到解决方案 我想在PHP中对这个数组按键进行排序DESC是从原始数组开始的: [user_courses] => Array ( [1] => Array ( [paid_course_id] => 1 [course_name] => english [course_label] =>
[user_courses] => Array
(
[1] => Array
(
[paid_course_id] => 1
[course_name] => english
[course_label] => English
[is_paid] => 1
[time] => 1378925144
[voucher] => 0
)
[2] => Array
(
[paid_course_id] => 2
[course_name] => spanish
[course_label] => English
[is_paid] => 0
[time] => 1379073137
[voucher] => 0
)
[3] => Array
(
[paid_course_id] => 3
[course_name] => russian
[course_label] => Russian
[is_paid] => 1
[time] => 1452277777
[voucher] => 0
)
)
成为:
[user_courses] => Array
(
[1] => Array
(
[paid_course_id] => 1
[course_name] => english
[course_label] => English
[is_paid] => 1
[time] => 1378925144
[voucher] => 0
)
[3] => Array
(
[paid_course_id] => 3
[course_name] => russian
[course_label] => Russian
[is_paid] => 1
[time] => 1452277777
[voucher] => 0
)
[2] => Array
(
[paid_course_id] => 2
[course_name] => spanish
[course_label] => English
[is_paid] => 0
[time] => 1379073137
[voucher] => 0
)
)
因此,首先列出数组的所有项,其中have为_paid1,而在数组的底部放置的是_paid0
function sortOrder($a, $b) {
return $a['paid_course_id'] > $b['paid_course_id'];
}
usort($courseArray['user_courses'], 'sortOrder');
或者使用匿名函数
usort($courseArray['user_courses'], function($a, $b) {
return $a['paid_course_id'] > $b['paid_course_id'];
});
这会很有帮助。usort($myArray['user\u courses'],function($a,$b){return$a['paid\u courseid']>$b['paid\u courseid'];})代码>可能重复的