Как вы сортируете (в алфавитном порядке по ключам) запрос $ _POST в PHP - PullRequest
0 голосов
/ 23 февраля 2010

Я смотрю на http://www.php.net/manual/en/array.sorting.php в качестве ссылки. Я пытаюсь отсортировать $ _POST по ключам. Это то, что я пытаюсь, но он печатает только «1». Что еще должно произойти или чего не хватает? Спасибо.

<?php
    $data = krsort($_POST);
    print_r( $data );
?>

Ответы [ 4 ]

3 голосов
/ 23 февраля 2010

krsort возвращает логическое значение - ИСТИНА в случае успеха, ЛОЖЬ в случае неудачи. Попробуйте print_r($_POST); и посмотрите, что получится - массив должен быть отсортирован!

2 голосов
/ 23 февраля 2010

Функции сортировки массива обычно модифицируют массив на месте, поэтому вместо него вы бы хотели print_r($_POST). Причина, по которой вы получаете 1 прямо сейчас в качестве выходных данных, заключается в том, что возвращаемое значение из функций сортировки является кодом состояния, указывающим, была ли возможность сортировки массива правильно - 1 указывает на успех.

2 голосов
/ 23 февраля 2010

Возвращаемым значением ksort() является true или значение, независимо от того, была ли сортировка успешной, вместо отсортированного массива.

Попробуйте:

<?php
    krsort($_POST);
    print_r( $_POST );
?>
0 голосов
/ 06 ноября 2010

Технически ни один из них не является правильным. ksort () и krsort () сортируют по ключу, да, но это не по алфавиту - это от низкого до высокого и от высокого к низкому.

Это: массив («iPhone», «Android», «Symbian»)

Заказал бы элементы Android, Symbian, а затем iPhone из-за того, что от низкого к высокому не игнорируется регистр.

Чтобы отсортировать массив в алфавитном порядке по ключам, вам нужно выполнить пользовательский uksort ()

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