sangoku Posted March 21, 2010 Share Posted March 21, 2010 can i somhow write this thing shotrer? becouse in case 1 of switch i only compare it against 0 and in other again against 0 but only in reverse mather,,,, public function finalniObracun($skok = 'pozitivan', $id, $object_name){ //prvo nalazimo sve aktere koji su ocjenili dati objekat $akteri = $this->findObjects($id,$object_name); $error = false; //postavljamo varijablu koja ce pratiti dali je nastala greska switch($skok){//pravimo swithc koji ce gledati koji je skok u pitanju poz/neg case 'pozitivan': foreach ($akteri as $akter){ //ukoliko imamo vrednost glasanja vecu od nule jednostavno nagradjujemo ocjenjivaca if ($akter->vote_value > 0){ //ukoliko je korisnik pozitivno ocijenio objekat $this->nagradiKorisnika($akter->user_ID,$akter->user_value); }else if($akter->vote_value < 0){ //obradjujemo sta je admin zadao kao akciju korisnika if ($akter->user_action == 0){ // suer action = ENUM('default_value', 'vote_value', '0') }else if($akter->user_action == 'vote_value'){ $vrednost= - $akter->vote_value; //ukoliko je korisnik negativno ocijenio objekat $this->nagradiKorisnika($akter->user_ID,$vrednost); }else if ($akter->user_action =='default_value'){ $vrednost= - NEGATIVNA_REAKCIJA_REPUTACIJA; //ukoliko je korisnik negativno ocijenio objekat $this->nagradiKorisnika($akter->user_ID,$vrednost); }else{ $error = true; } } } break; case 'negativan': foreach ($akteri as $akter){ //ukoliko imamo vrednost glasanja vecu od nule jednostavno nagradjujemo ocjenjivaca if ($akter->vote_value < 0){ //ukoliko je korisnik pozitivno ocijenio objekat $this->nagradiKorisnika($akter->user_ID,$akter->user_value); }else if($akter->vote_value > 0){ //obradjujemo sta je admin zadao kao akciju korisnika if ($akter->user_action == 0){ // suer action = ENUM('default_value', 'vote_value', '0') }else if($akter->user_action == 'vote_value'){ $vrednost= - $akter->vote_value; //ukoliko je korisnik negativno ocijenio objekat $this->nagradiKorisnika($akter->user_ID,$vrednost); }else if ($akter->user_action =='default_value'){ $vrednost= - NEGATIVNA_REAKCIJA_REPUTACIJA; //ukoliko je korisnik negativno ocijenio objekat $this->nagradiKorisnika($akter->user_ID,$vrednost); }else{ $error = true; } } } break; } //end switcha skok XD bas veliko haaaa ~.~ ... QQ moram naci jednostavnije Quote Link to comment https://forums.phpfreaks.com/topic/196033-can-i-write-this-swicth-in-some-other-way/ Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.