Вот пример из документации
<?php
function cmp($a, $b)
{
if ($a == $b) {
return 0;
}
return ($a < $b) ? -1 : 1;
}
$a = array(3, 2, 5, 6, 1);
usort($a, "cmp");
foreach ($a as $key => $value) {
echo "$key: $value\n";
}
?>
Я не могу понять какая связь между тем, что функция cmp возвращает 0 или -1 или 1 и тем что массив сортируется по порядку значений? Что попадает в переменную $b функции cmp? В переменную $a функции cmp попадает массив $a? Каков механизм работы функции usort() по шагам? Заранее большое спасибо за ответ.