Сортировка многомерного массива в алфавитном порядке

Как я могу отсортировать массив, подобный этому в алфавитном порядке:

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

?

Ага! Вам нужно uksort();

Сравнение функций сортировки PHP. (плотина полезная)

Edit: Разум, вы, похоже, хотите сортировать внутри массивов? 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() ?

Ты используешь

 ksort($allowed); 

http://php.net/manual/en/function.ksort.php

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

как описано здесь . Раздел «Смотрите также» обычно очень полезен