Имеем такой массив записей
$n[1]['name']='sergey'; $n[1]['kolvo']=15;
$n[2]['name']='ivan'; $n[2]['kolvo']=7;
$n[3]['name']='pavel'; $n[3]['kolvo']=28;
Нужна функция, которая отсортировывает его по заданному полю, например при сортировке по убыванию поля 'kolvo' возвращает
$n[1]['name']='pavel'; $n[1]['kolvo']=28;
$n[2]['name']='sergey'; $n[2]['kolvo']=15;
$n[3]['name']='ivan'; $n[3]['kolvo']=7;
1. Cheriksoft - 24 Апреля, 2008 - 10:35:10 - перейти к сообщению
2. Furax - 24 Апреля, 2008 - 10:53:19 - перейти к сообщению
Cheriksoft
Значения в поле kolvo всегда уникальные или нет?
Значения в поле kolvo всегда уникальные или нет?
3. Cheriksoft - 24 Апреля, 2008 - 11:07:24 - перейти к сообщению
Да, уникальные, это приведено просто для примера
4. Furax - 24 Апреля, 2008 - 11:09:27 - перейти к сообщению
Так уникальные или нет? В каком смысле "да"?
5. Cheriksoft - 24 Апреля, 2008 - 11:10:06 - перейти к сообщению
поправил
6. Furax - 24 Апреля, 2008 - 21:57:25 - перейти к сообщению
CODE:
<?php
$n[1]['name']='sergey'; $n[1]['kolvo']=15;
$n[2]['name']='ivan'; $n[2]['kolvo']=7;
$n[3]['name']='pavel'; $n[3]['kolvo']=28;
function cmp($a, $b)
{
if ($a['kolvo'] == $b['kolvo']) {
return 0;
}
return ($a['kolvo'] < $b['kolvo']) ? -1 : 1;
}
function cmp_rev($a, $b)
{
return -cmp($a, $b);
}
usort($n, 'cmp');
print_r($n);
usort($n, 'cmp_rev');
print_r($n);
?>
$n[1]['name']='sergey'; $n[1]['kolvo']=15;
$n[2]['name']='ivan'; $n[2]['kolvo']=7;
$n[3]['name']='pavel'; $n[3]['kolvo']=28;
function cmp($a, $b)
{
if ($a['kolvo'] == $b['kolvo']) {
return 0;
}
return ($a['kolvo'] < $b['kolvo']) ? -1 : 1;
}
function cmp_rev($a, $b)
{
return -cmp($a, $b);
}
usort($n, 'cmp');
print_r($n);
usort($n, 'cmp_rev');
print_r($n);
?>
7. Cheriksoft - 25 Апреля, 2008 - 07:19:24 - перейти к сообщению
Большое спасибо