【发布时间】:2018-03-12 20:33:27
【问题描述】:
我有一个数组需要使用“odbyx”键值进行排序
这是数组var_dump
array(12) {
["id"]=> array(7) {
[0]=> string(1) "8"
[1]=> string(1) "7"
[2]=> string(1) "3"
[3]=> string(1) "6"
[4]=> string(1) "5"
[5]=> string(1) "2"
[6]=> string(1) "1"
}
["subject"]=> array(7) {
[0]=> string(14) "ticke tick sbj"
[1]=> string(13) "new tick test"
[2]=> string(15) "fdsfdsfdsfdsfds"
[3]=> string(12) "test subject"
[4]=> string(4) "test"
[5]=> string(4) "test"
[6]=> string(12) "test subject"
}
["msg"]=> array(7) {
[0]=> string(9) "test+tick"
[1]=> string(4) "test"
[2]=> string(9) "dfdsfdsfd"
[3]=> string(12) "test+tcikets"
[4]=> string(4) "test"
[5]=> string(12) "test+message"
[6]=> string(7) "tssssss"
}
["department"]=> array(7) {
[0]=> string(10) "Technician"
[1]=> string(5) "Admin"
[2]=> string(5) "Admin"
[3]=> string(10) "Technician"
[4]=> string(10) "Technician"
[5]=> string(5) "Admin"
[6]=> string(5) "Admin"
}
["priorety"]=> array(7) {
[0]=> string(3) "Low"
[1]=> string(6) "Normal"
[2]=> string(3) "Low"
[3]=> string(3) "Low"
[4]=> string(4) "High"
[5]=> string(6) "Normal"
[6]=> string(3) "Low"
}
["status"]=> array(7) {
[0]=> string(4) "open"
[1]=> string(8) "answered"
[2]=> string(8) "answered"
[3]=> string(4) "open"
[4]=> string(4) "open"
[5]=> string(4) "open"
[6]=> string(6) "closed"
}
["dateAded"]=> array(7) {
[0]=> string(19) "2017-10-01 12:34:56"
[1]=> string(19) "2017-09-27 13:41:09"
[2]=> string(19) "2017-09-17 13:53:04"
[3]=> string(19) "2017-09-25 15:00:48"
[4]=> string(19) "2017-09-23 10:41:24"
[5]=> string(19) "2017-09-17 13:31:56"
[6]=> string(19) "2017-09-17 12:37:22"
}
["dateClosed"]=> array(7) {
[0]=> string(19) "0000-00-00 00:00:00"
[1]=> string(19) "0000-00-00 00:00:00"
[2]=> string(19) "0000-00-00 00:00:00"
[3]=> string(19) "0000-00-00 00:00:00"
[4]=> string(19) "0000-00-00 00:00:00"
[5]=> string(19) "2017-09-30 13:41:09"
[6]=> string(19) "2017-09-17 13:40:53"
}
["dateActivity"]=> array(7) {
[0]=> string(19) "2017-10-01 12:34:56"
[1]=> string(19) "2017-10-01 07:49:20"
[2]=> string(19) "2017-09-26 10:35:36"
[3]=> string(19) "2017-09-25 15:00:48"
[4]=> string(19) "2017-09-23 10:41:24"
[5]=> string(19) "2017-09-17 13:41:21"
[6]=> string(19) "2017-09-17 13:40:53"
}
["userId"]=> array(7) {
[0]=> string(1) "4"
[1]=> string(1) "4"
[2]=> string(1) "3"
[3]=> string(1) "4"
[4]=> string(1) "7"
[5]=> string(1) "3"
[6]=> string(1) "2"
}
["res"]=> string(4) "true"
["odbyx"]=> array(7) {
[0]=> int(1)
[1]=> int(2)
[2]=> int(3)
[3]=> int(2)
[4]=> int(3)
[5]=> int(3)
[6]=> int(3)
}
}
数组背后的逻辑
$array = array
(
"id" => $id,
"subject" => $subject,
"msg" => $msg,
"department" => $department,
"priorety" => $priorety,
"status" => $status,
"dateAded" => $dateAded,
"dateClosed" => $dateClosed,
"dateActivity" => $dateActivity,
"userId" => $userId,
"res" => $res,
"odbyx"=>$odbyx
);
我尝试使用下面的代码进行排序,但似乎不起作用
array_multisort(array_column($array, 'odbyx'), SORT_DESC, $array);
odbyx 字段保存优先级值 (1,2,3)。
我需要使用该值对主数组进行排序,因此我可以在表格的开头显示最高优先级的字段
我想使用“odbyx”降序
对$array进行排序id数组的输出示例,其他数组也需要一次性排序。
["id"]=> array(7) { [0]=> string(1) "6" [1]=> string(1) "5" [2]=> string(1) "4" [3]=> string(1) "3" [4]=> string(1) "7" [5]=> string(1) "6" [6]=> string(1) "8" }
【问题讨论】:
-
你的预期输出?
-
当 order 优先 order (3333221) 的 id 数组输出应该是这样的,整个数组需要排序 ["id"]=> array(7) { [0]=> string(1) "6" [1]=> 字符串(1) "5" [2]=> 字符串(1) "4" [3]=> 字符串(1) "3" [4]=> 字符串(1) "7 " [5]=> 字符串(1) "6" [6]=> 字符串(1) "8" }
-
由于不清楚,您能否更新问题中的预期输出
-
@ArunKumaresh 我补充说
标签: php arrays sorting multidimensional-array