Pa nisi dobro gledao u manual-u. Takva nestandardna i custom sortiranja uvek moraš da radiš sa onim u* funkcijama, koje koriste callback funkciju za sortiranje. Evo ovo bi npr. moglo da bude rešenje uz primenu usort() funkcije:
Code:
function sortiraj($a, $b)
{
$reci = array('Internet'=>2, 'TV'=>1, 'Telefon'=>0);
$x = 0;
$y = 0;
$markerx = false;
$markery = false;
foreach($reci as $key=>$val) {
if (strpos($a, $key) !== false && $markerx == false) {
$x = $val;
$markerx = true;
}
if (strpos($b, $key) !== false && $markery == false) {
$y = $val;
$markerx = true;
}
if ($markerx == false && $markery == true) {
break;
}
}
if ($x == $y) {
return 0;
}
return ($x > $y) ? -1 : 1;
}
$niz = array('recenica koja sadrzi Internet', 'recenica koja sadrzi TV', 'opet Internet', 'recenica koja sadrzi Telefon');
usort($niz, "sortiraj");
print_r($niz);
Rezultat:
Code:
Array ( [0] => recenica koja sadrzi Internet [1] => opet Internet [2] => recenica koja sadrzi TV [3] => recenica koja sadrzi Telefon )