簡體   English   中英

按字母順序排序多維數組

[英]Sort multidimensional array alphabetically

如何按字母順序對數組進行排序:

$allowed = array(
  'pre'    => array(),
  'code'   => array(),
  'a'      => array(
                'href'  => array(),
                'title' => array()
              ),
  'strong' => array(),
  'em'     => array(),
);

// sort($allowed); ?

啊哈! 你需要uksort();

PHP排序函數的比較。 (大壩有用)

編輯:原因是,您似乎也希望在數組內部進行排序? AFAIK ksort本身並不這樣做 - 它完全忽略了原始數組的值。

Edit2:這應該工作(雖然使用遞歸而不是kusort):

function ksort_deep(&$array){
    ksort($array);
    foreach($array as &$value)
        if(is_array($value))
            ksort_deep($value);
}

// example of use:
ksort_deep($allowed);

// see it in action
echo '<pre>'.print_r($allowed,true).'</pre>';

重要說明:如果相同的數組引用自身,則不使用uksort()副作用是,您將獲得無限循環。 這在正常情況下不會發生,但你永遠不知道:)

ksort()

bool ksort ( array &$array [, int $sort_flags = SORT_REGULAR ] )

作為描述在這里 “另請參閱”部分通常非常有用

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM