[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Передача аргументов usort
OleKh
Пример из мануала. Никак не разберу, почему аргументы передаются как-то неупорядочно что-ли. И ещё выводится 6 пар значений, а элементов 5.

function cmp($a, $b)
{
echo $a;
echo $b.'<br/>';
// if ($a == $b) {
// return 0;
// }
// return ($a < $b) ? -1 : 1 ;

}

$a = array(3, 2, 5, 6, 1);
usort($a, "cmp");


52 // почему в $a = 5, $b = 2? тогда как в массиве 3, 2
15
53
65
16
23
innovate
В данном случае usort юзаем для сортировки элементов в массиве, зачем ты в теле функции пишешь echo?
function cmp($a, $b) {
if ($a == $b) {
return 0;
}
return ($a < $b) ? -1 : 1 ;
}

$a = array(3, 2, 5, 6, 1);
usort($a, "cmp");

print_r($a);

Выход:
Array ( [0] => 1 [1] => 2 [2] => 3 [3] => 5 [4] => 6 )

Мб я не понял вопрос.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.