- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
<?
$a = array("second","third","first");
usort($a,"tes");
function tes($c, $d, $data){
if ($c == "third" && $d == "second") return -1;
if ($c == "third" && $d == "first") return -1;
if ($c == "first" && $d == "second") return 1;
if ($c == "second" && $d == "third") return 1;
if ($c == "first" && $d == "third") return 1;
if ($c==$d==$data) return 0;
}
print_r($a);
?>
В тестах задание, сортировать $a до вида ([1]=>"third",[2]=>"second",[3]=>"first").
Один из вариантов ответа(остальные ответы аналогичны, отличаются синтаксисом).
guest 21.02.2012 10:28 # +1
truedizzy 21.02.2012 11:02 # 0
amaduha 22.02.2012 12:45 # −2
class sortirovka_massiva
{
public sortirovka($massiv)
{
if(!is_array($massiv)) return "Блин - это не массив!";
$sort_ili_nesort = file_get_content(sorting_settings.txt);
if($sort_ili_nesort!=0)
{
//сортируем
//так как элементов не много - вместо никому не нужной rsort(), испольнуем магию
$massiv = array('third','second','fisrt');
return $massiv;
}
else
{
return $massiv;
}
}
$s = new sortirovka_massiva;
$a = $s->sortirovka($a);
if($a=="Блин - это не массив!")
{
print_r("Извините пожалйста, но в метод был передан не массив");
}
else
{
print_r($a);
}
}
eth0 22.02.2012 13:26 # +1
После чего программа краснеет и стыдливо шаркает ножкой.
Lure Of Chaos 22.02.2012 22:35 # 0
Phabyd 23.02.2012 01:32 # 0
ZX_Spectrum 23.02.2012 02:28 # 0
но результат будет неверный.
Phabyd 23.02.2012 11:19 # 0
тогда ответ будет:
natsort($a);
$a = array_reverse($a);
ZX_Spectrum 23.02.2012 12:54 # −1
зачем? почему не просто sort?
а вообще, есть функция rsort, которая сделает все вместе.
Phabyd 23.02.2012 13:55 # 0
SteadfastTinCock 25.08.2021 21:04 # 0