|
|
|
| Недавно встретил вот такое вот :
function cmp($a, $b) {
if ($a['s'] == $b['s']) {
if ($a['c'] == 0 || $b['clicks'] == 0) {
return $a['v'] > $b['v'] ? 1 : -1;
}
return ($a['c'] / $a['v']) > ($b['c'] / $b['v']) ? -1 : 1;
} else {
return $a['s'] > $b['s'] ? -1 : 1;
}
}
|
Помогите раобраться , в описании написано - функция сортировки массива )
return $a['v'] > $b['v'] ? 1 : -1; Это больше всего непонятно ) | |
|
|
|
|
|
|
|
для: XaZzZi
(08.11.2009 в 13:37)
| | Это пользовательская сортировака массива (используется callback функция).
return $a['v'] > $b['v'] ? 1 : -1 - если первый аргумент больше второго, то возвращается 1, иначе вернется -1. | |
|
|
|
|
|
|
|
для: sim5
(08.11.2009 в 14:08)
| | Весьма специфическая функция сортировки.
Первый раз вижу компаратор, который не умеет сравнивать равные объекты. | |
|
|
|
|
|
|
|
для: XaZzZi
(08.11.2009 в 13:37)
| | [поправлено модератором] | |
|
|
|
|
|
|
|
для: Trianon
(08.11.2009 в 14:48)
| | тоесть выражение
еще можно записать так :
if ($a>$b) {
return 1;
}
else {
return -1;
}
|
Верно ? | |
|
|
|
|
|
|
|
для: XaZzZi
(09.11.2009 в 18:22)
| | да | |
|
|
|