php数组指定键值排序,PHP数组使用特定键值排序关联数组

我有一个数组,需要使用键值“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).

我需要使用该值对主数组进行排序,因此我可以在表格的开头soo显示最高优先级字段

我想使用“odbyx”降序对$数组进行排序

示例输出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" }

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: PHP提供了 array_chunk() 函数可以用来把一个数组按照指定的大小分割成多个数组块。如果想要根据拆分数组,可以先使用 array_keys() 函数获取数组名,然后再使用 array_chunk() 函数按照名进行分割。 示例: ``` $arr = array("a" => 1, "b" => 2, "c" => 3, "d" => 4, "e" => 5); $keys = array_keys($arr); $chunks = array_chunk($keys, 2); print_r($chunks); ``` 运行结果: ``` Array ( [0] => Array ( [0] => a [1] => b ) [1] => Array ( [0] => c [1] => d ) [2] => Array ( [0] => e ) ) ``` 上面这个例子中,我们先用 array_keys() 函数获取原数组名,然后用 array_chunk() 函数将这个数组按照大小为 2 分割成多个数组块。 ### 回答2: PHP数组根据拆分是指将一个数组根据的不同,拆分成多个数组的操作。通常情况下,我们可以使用foreach循环来遍历数组,并根据将元素分别存放到不同的数组中。 下面是一个简单的例子来说明如何使用PHP来根据拆分数组: ```php // 假设有一个原始数组 $originalArray = array( "apple" => "红苹果", "banana" => "香蕉", "orange" => "橙子", "grape" => "葡萄", "watermelon" => "西瓜" ); // 创建用于存放拆分后数组的空数组 $splitArrays = array(); // 根据拆分数组 foreach ($originalArray as $key => $value) { // 判断是否已经在拆分数组中存在 if (isset($splitArrays[$key])) { // 已经存在,将当前元素添加到对应的拆分数组中 $splitArrays[$key][] = $value; } else { // 不存在,创建一个新的拆分数组,并将当前元素添加到其中 $splitArrays[$key] = array($value); } } // 打印拆分后的数组 print_r($splitArrays); ``` 运行以上代码,会输出: ``` Array ( [apple] => Array ( [0] => 红苹果 ) [banana] => Array ( [0] => 香蕉 ) [orange] => Array ( [0] => 橙子 ) [grape] => Array ( [0] => 葡萄 ) [watermelon] => Array ( [0] => 西瓜 ) ) ``` 从输出结果可以看出,原始数组根据拆分成了多个拆分后的数组,每个拆分后的数组只包含了对应的元素。 ### 回答3: PHP数组根据拆分是指根据数组中的数组拆分成多个子数组。下面是一个示例代码,以帮助解释如何实现该功能: ```php // 原始数组 $originalArray = array( 'key1' => 'value1', 'key2' => 'value2', 'key3' => 'value3', 'key4' => 'value4', 'key5' => 'value5' ); // 拆分后的子数组 $splitArrays = array(); // 遍历原始数组 foreach ($originalArray as $key => $value) { // 根据拆分数组 if (!isset($splitArrays[$value])) { $splitArrays[$value] = array(); } $splitArrays[$value][$key] = $value; } // 输出拆分后的子数组 echo "拆分后的子数组:\n"; foreach ($splitArrays as $splitArray) { print_r($splitArray); echo "\n"; } ``` 上述代码首先定义了一个原始数组 `$originalArray`,其中包含了五个对。然后定义了一个空数组 `$splitArrays`,用于存储拆分后的子数组。接下来通过 `foreach` 循环遍历原始数组,检查每个是否已经存在于 `$splitArrays` 中作为,如果不存在则创建新的元素,并将当前添加到对应的子数组中。最后,通过 `foreach` 循环遍历拆分后的子数组,并使用 `print_r` 函数输出每个子数组的内容。 以上代码将创建一个以原始数组的新数组,并将具有相同对分配到相应的子数组中。这样就实现了根据拆分数组的功能。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值