php сортировка ассоциативная - PullRequest
0 голосов
/ 25 февраля 2011

Я пытаюсь отсортировать массив и получаю результат 1

вот код просьбы помочь

            $foo = array(
                2 => "Sports",
                40 => "Parent and Families",
                43 => "Arts and Entertainment",
            );
            $foo = sort($foo);

Я бы хотел, чтобы они были отсортированы по значению

Ответы [ 3 ]

5 голосов
/ 25 февраля 2011

Сортировка не возвращает отсортированный массив. Возвращает TRUE of FALSE в случае успеха. Массив передается по ссылке. Так что вызывайте метод и просто используйте его

$foo = array(
                2 => "Sports",
                40 => "Parent and Families",
                43 => "Arts and Entertainment",
            );
            sort($foo); //foo is now sorted 

EDIT

Обратите внимание, что sort () фактически переназначает ваши индексы. Вы должны использовать asort() вместо сортировки, если хотите сохранить ассоциации

2 голосов
/ 25 февраля 2011

Если вам нужно сохранить связь с индексом, используйте asort (array & $ array [, int $ sort_flags = SORT_REGULAR]) . Обратите внимание на передачу по ссылке в массиве $ (-> проверьте, что выводит функция).

$foo = array(
    2 => "Sports",
    40 => "Parent and Families",
    43 => "Arts and Entertainment",
);
asort($foo);
print_r($foo);

печать

Array
(
    [43] => Arts and Entertainment
    [40] => Parent and Families
    [2] => Sports
)
1 голос
/ 25 февраля 2011

вы можете использовать asort()

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...