繁体   English   中英

如何对多维数组的键进行排序?

[英]How can I sort the keys of a multidimensional array?

array(1) {
  [0]=>
  array(1) {
    ["12345"]=>
    array(1) {
      ["orange"]=>
      string(46) "test.jpg"
      ["blue"]=>
      string(46) "test2.jpg"
      ["green"]=>
      string(46) "test3.jpg"
    }
  }
}

我想按键排序:

foreach ($array as $key => $value) {
      if(is_array($value)){
           foreach ($value as $k => $v) {
                usort($v);
                foreach ($v as $fileIterator => $fileData) {
                     echo $fileIterator;
                }
           }
      }
 }

这是结果

orange
blue
green

但我希望订单会

blue
green
orange

试试这个,您必须根据键进行排序,因此请使用ksort() 在使用foreach() ,将处理数组的重复项。 为了对原始数组进行更改,请使用'&' (通过引用进行调用)

foreach ($array as $key => $value) {
      if(is_array($value)){
           foreach ($value as $k => &$v) {
                ksort($v);
                foreach ($v as $fileIterator => $fileData) {
                     echo $fileIterator;
                }
           }
      }
 }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM