Как я могу отсортировать массив, подобный этому в алфавитном порядке:
$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()
?
bool ksort ( array &$array [, int $sort_flags = SORT_REGULAR ] )
как описано здесь . Раздел «Смотрите также» обычно очень полезен