Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Malo komplikovanije sortiranje niza...

[es] :: PHP :: Malo komplikovanije sortiranje niza...

[ Pregleda: 1524 | Odgovora: 4 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

PHP CODE
Banja Luka

Član broj: 235799
Poruke: 66
*.broadband.blic.net.



Profil

icon Malo komplikovanije sortiranje niza...11.03.2010. u 15:42 - pre 171 meseci
Ako npr imam neki niz od "n" elemenata i ako su elementi stringovi i ako ti strigovi izmedju ostalog mogu sadrzati sledece reci:
'Internet'
'TV'
'Telefon'
kako bi se moglo izvrsiti sortiranje niza tako da elementi budu prvo oni koji sadrze npr rec Internet, pa zatim TV, pa Telefon itd?
 
Odgovor na temu

dakipro
Dalibor Jovic
Web Developer
Bergen, Norway

Moderator
Član broj: 31848
Poruke: 1792
91.148.81.*

Sajt: norway.dakipro.com


+190 Profil

icon Re: Malo komplikovanije sortiranje niza...11.03.2010. u 15:52 - pre 171 meseci
A po cemu je to sortiranje onda, po nazivu?
je si li pogledao funkcije u phpmanualu za sortiranje, da li one mogu da posluze?
 
Odgovor na temu

PHP CODE
Banja Luka

Član broj: 235799
Poruke: 66
*.broadband.blic.net.



Profil

icon Re: Malo komplikovanije sortiranje niza...11.03.2010. u 16:15 - pre 171 meseci
Pa cilj sortiranja je npr sortiranje po servisu ;) TV, Internet, Telefonija...
Gledao sam manual, al nisam nasao nesto odgovarajuce...
 
Odgovor na temu

Nikola Poša
Backend (PHP) developer
Beograd

Član broj: 173839
Poruke: 1616
*.adsl-a-4.sezampro.rs.



+33 Profil

icon Re: Malo komplikovanije sortiranje niza...11.03.2010. u 16:19 - pre 171 meseci
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 ) 
 
Odgovor na temu

PHP CODE
Banja Luka

Član broj: 235799
Poruke: 66
*.broadband.blic.net.



Profil

icon Re: Malo komplikovanije sortiranje niza...11.03.2010. u 18:29 - pre 171 meseci
Bravo! Hvala. Gledao, al nisam video :)
 
Odgovor na temu

[es] :: PHP :: Malo komplikovanije sortiranje niza...

[ Pregleda: 1524 | Odgovora: 4 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.