如何重新排序多维数组? [英] How to re-sort a multidimensional array?

查看:101
本文介绍了如何重新排序多维数组?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

如何对数组进行排序按字母顺序使用下面的关键标准标签?我试着用在array_multisort usort rsort 排序,但没有奏效。

 阵列(3){
  [0] =>
  阵列(2){
    [ID] =>
    串(1)9
    [标签] =>
    串(26),FFFFFF
  }
  [1] =>
  阵列(2){
    [ID] =>
    串(2)10
    [标签] =>
    串(25)AAAAAAAAA
  }
  [2] =>
  阵列(2){
    [ID] =>
    串(1)6
    [标签] =>
    串(5)DDDDDD
  }
}


解决方案

您可以排序同时使用 usort数组() 的strcmp()

  usort($ ARR,功能($ E1,E2 $)
{
    $ CMP = STRCMP($ E1 ['标签'],$ E2 ['标签']);
    如果($ CMP == 0){返回0; }
    返回$ CMP> 0? 1:-1;
});

How to sort the array alphabetically below using as the key criterion label? I tried using array_multisort, usort, rsort, and sort, but it did not work.

array(3) {
  [0]=>
  array(2) {
    ["id"]=>
    string(1) "9"
    ["label"]=>
    string(26) "ffffff"
  }
  [1]=>
  array(2) {
    ["id"]=>
    string(2) "10"
    ["label"]=>
    string(25) "aaaaaaaaa"
  }
  [2]=>
  array(2) {
    ["id"]=>
    string(1) "6"
    ["label"]=>
    string(5) "dddddd"
  }
}

解决方案

You can sort the array using both usort() and strcmp()

usort($arr, function($e1, $e2)
{
    $cmp = strcmp($e1['label'], $e2['label']);
    if($cmp == 0) { return 0; }
    return $cmp > 0 ? 1 : -1;
});

这篇关于如何重新排序多维数组?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆