开发者社区> 问答> 正文

按特定顺序对多维数组排序

我试图按特定顺序对多维数组进行排序。我的数组看起来像这样:

array (size=4)
  '1574764780' => 
    array (size=4)
      0 => 
        array (size=3)
          'name' => string 'x' (length=1)
          'nr' => string '5' (length=1)
          'color' => string 'red' (length=3)
      1 => 
        array (size=3)
          'name' => string 'y' (length=1)
          'nr' => string '6' (length=1)
          'color' => string 'yellow' (length=6)
      2 => 
        array (size=3)
          'name' => string 'z' (length=1)
          'nr' => string '4' (length=1)
          'color' => string 'blue' (length=4)
      3 => 
        array (size=3)
          'name' => string 'a' (length=1)
          'nr' => string '2' (length=1)
          'color' => string 'green' (length=5)
  '36879010280' => 
           ...

我需要对它进行排序,使颜色为红色的数组排在首位,绿色为第二排,依此类推:按键颜色的顺序应为:

red,green,blue,yellow。

但是,并非每个阵列都包含绿色。然后应该是这样的:

red,blue,yellow

输出应为:

array (size=4)
  '1574764780' => 
    array (size=4)
      0 => 
        array (size=3)
          'name' => string 'x' (length=1)
          'nr' => string '5' (length=1)
          'color' => string 'red' (length=3)
      1 => 
        array (size=3)
          'name' => string 'a' (length=1)
          'nr' => string '2' (length=1)
          'color' => string 'green' (length=5)
      2 => 
        array (size=3)
          'name' => string 'z' (length=1)
          'nr' => string '4' (length=1)
          'color' => string 'blue' (length=4)
      3 => 
        array (size=3)
          'name' => string 'y' (length=1)
          'nr' => string '6' (length=1)
          'color' => string 'yellow' (length=6)
  '36879010280' => 
           ...

我一直在搜索数小时,但找不到一个好的方法来做到这一点。任何帮助深表感谢。

展开
收起
几许相思几点泪 2019-12-03 15:53:53 436 0
0 条回答
写回答
取消 提交回答
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载