Правила     Закладки     Карма    Календарь    Журналы    Помощь    Поиск    PDA    Чат   
        СМС-ки
   
Пейджер выключен!
 
Фильтр авторов:    показать 
  скрыть
  Закрытая темаСоздание новой темыСоздание опроса

> Функция asort(), когда значения элементов одинаковы...
brizzz  
 ۩  [x] Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Новичок
*

Профиль
Группа: Пользователь
Сообщений: 3
Пользователь №: 17676
На форуме: 8 лет, 5 месяцев, 15 дней
Карма:




тут столкнулся с неожиданностью:

PHP
<?
$ar["1"] = "10";
$ar["2"] = "10";
$ar["3"] = "10";

print_r($ar);
arsort ($ar);
echo 
"<br /><br />";
print_r($ar);



возвращает:
PHP
Array ( [1] => 10 [2] => 10 [3] => 10 )

Array ( [
3] => 10 [2] => 10 [1] => 10 )


Не пойму почему элементы в обратном порядке отсортированы? Значения ведь одинаковы, зачем исходный массив менять... Это стандартное поведение функции?



Спустя 21 минута, 51 секунда (7.05.2009 - 00:36) KUZNEC написал(а):
Описание
bool arsort ( array &$array [, int $sort_flags] )

Эта функция сортирует массив в обратном порядке таким образом, что сохраняются отношения между ключами и значениями. Она полезна, в основном, при сортировке ассаоциативных массивов, когда важно сохранить отношение ключ => значение.

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.


сорри невнимательно прочитал имя функции

Спустя 2 минуты, 7 секунд (7.05.2009 - 00:38) kirik написал(а):
Интересная фишка. Скорее всего это как-то связано со сравнением элементов, например значения начинают сравниваться с конца исходного массива.

Цитата (brizzz @ 6.05.2009 - 16:14)
Это стандартное поведение функции?

Похоже что да, у меня тоже так сортирует.

Спустя 2 минуты, 1 секунда (7.05.2009 - 00:40) kirik написал(а):
KUZNEC, она сортирует значения, а не ключи. Тоесть поидее она не должна перемещать элементы массива с одинаковыми ключами относительно друг друга, а она перемещает smile.gif

Спустя 45 минут, 6 секунд (7.05.2009 - 01:25) brizzz написал(а):
обидно, черт возьми... подстава блин sad.gif

Спустя 2 минуты, 37 секунд (7.05.2009 - 01:28) kirik написал(а):
Цитата (brizzz @ 6.05.2009 - 17:25)
обидно, черт возьми... подстава блин

Напиши сортировку сам с использованием usort(). smile.gif
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:

Опции темы Закрытая темаСоздание новой темыСоздание опроса