сортировка массива между массивом и строковыми значениями - PullRequest
0 голосов
/ 18 июля 2011

Я создаю синтаксический анализатор шаблонов, и мне нужно отсортировать массив переменных, которые передаются в синтаксический анализатор, чтобы каждый элемент массива, который является массивом, обрабатывался первым. Например:

$data = array(
    'name' => 'Steven',
    'type' => array(
        'gender' => 'M',
        'age' => 23'
    )
)

Мне нужно, чтобы 'type' был первым, поскольку это массив, а 'name' - последним. У кого-нибудь есть идеи как это сделать? Я посмотрел руководство php.net по различным функциям сортировки, но не понимаю, как они применимы к моей ситуации.

Ответы [ 2 ]

3 голосов
/ 18 июля 2011
function cmp($a, $b) {
    return is_array($a) ? -1 : 1;
}    
uasort($data, "cmp");

Это позволит отсортировать массив по типу значения ... в алфавитном порядке. Массив идет перед String.

2 голосов
/ 18 июля 2011
function cmp($a, $b) {
   return is_array($a)? -1 : 0;
}

uasort($data, "cmp");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...