Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Каков механизм работы пользовательской функции в функции uksort?
 
 автор: baston   (26.01.2010 в 15:18)   письмо автору
 
 

Как известно, при сортировке массивов с помощью функции uksort необходимо задать свою функцию:
uksort(массив, своя_функция).
Меня интересует внутренний механизм (!) работы своей функции в таком примере (из мануалов):
function cmp($a, $b) 
{
    if ($a < $b) return -1; 
    if ($a == $b) return 0; 
    if ($a > $b) return 1; 
}
$a = array(
        4 => "four", 
        3 => "three", 
        20 => "twenty", 
        10 => "ten"
        );
uksort($a, "cmp");
while (list($key, $value) = each($a)) 
{
    echo "$key: $value\n";
}
?>

Правильно ли я понимаю, что каждый ключ массива сравнивается между собой, типа:
4 < 3
4 == 3
4 > 3
4 < 20 и т.д
Затем цикл для следующего ключа:
3 < 4
3 == 20 и т.д
Или я не верно мыслю?
Спасибо.

  Ответить  
 
 автор: Саня   (27.01.2010 в 00:05)   письмо автору
 
   для: baston   (26.01.2010 в 15:18)
 

Что вам помешало вставить в начало функции print "$a $b<br>"; и убедиться воочию?

  Ответить  
 
 автор: baston   (27.01.2010 в 11:05)   письмо автору
 
   для: Саня   (27.01.2010 в 00:05)
 

Недостаточная сообразительность + неразвитое логическое мышление. :))
Спасибо.

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования