Avatar billede besoft Nybegynder
26. juli 2004 - 21:22 Der er 12 kommentarer og
1 løsning

Exit function

Hejsa

De fleste kender EXIT;, men hvordan kan jeg gøre noget tilsvarende midt i en function?

Problemet er, at jeg foretager forskellige ting i en function og i visse tilfælde (typisk hvis noget går galt), skal funktionen stoppe, men resten af scriptet på siden skal fortsætte (mest a hensyn til layouttet på siden... den er ikke gald for en direkte EXIT;

Jeg går ud fra der findes en tilsvarende kommando, - har bare ikke været i stand til at finde den.
Avatar billede detox Nybegynder
26. juli 2004 - 21:24 #1
return();
Avatar billede michael_stim Ekspert
26. juli 2004 - 21:24 #2
break;
Avatar billede besoft Nybegynder
26. juli 2004 - 21:26 #3
det var hurtigt
prøver lige dem begge :-)
Avatar billede michael_stim Ekspert
26. juli 2004 - 21:26 #4
Avatar billede detox Nybegynder
26. juli 2004 - 21:30 #5
Jeg vil mene man bruger return, når det er i en funtion og break i en loop eller switch.
Avatar billede michael_stim Ekspert
26. juli 2004 - 21:32 #6
detox>>Det var mig der ikke havde läst spörgsmålet rigtigt. Break er til loops.
Jeg tänkte at du var helt forkert på den med din return() :D
Avatar billede michael_stim Ekspert
26. juli 2004 - 21:33 #7
Og det ligner ikke dig ;o)
Avatar billede detox Nybegynder
26. juli 2004 - 21:36 #8
Du behøver iøvrigt heller ikke parenteser ved return:

return;

er ligeså godt.
Avatar billede besoft Nybegynder
26. juli 2004 - 21:44 #9
burde jeg ikke bruge noget i retning af

return true;
og/eller
return false;

Inde i min funktion er der 3 IF-statements hvor den skal stoppe hvis noget går galt. Den skal altså stoppe hele funktionen og ikke kun den IF der er igang.

Når den er færdig med funktion 1, skal den fortsætte med funktion 2, såfremt funktion 1 returnerer true, men hvordan kan jeg se om den rent faktisk returnerer true?
Avatar billede besoft Nybegynder
26. juli 2004 - 21:54 #10
Så spiller det.

Jeg bruger return true/false;

Inden funktion 2 starter, checker jeg om funktion 1 er returneret true. Såre simplet.

For ikke at paste 439 linier kode, er her hvad jeg har gjort for at få det til at virke. Så kan andre måske også få glæde af det :-)


function func1();
    if(1=1) {
        return true;
    } else {
        return false;
    }
}

function func2() {
    $foo = "Buu";
    ...
}

$success = func1();
if($success) {
    func2();
}
Avatar billede detox Nybegynder
26. juli 2004 - 21:57 #11
Netop. Du kunne osse:

if($success = func1()) {
    func2();
}
Avatar billede besoft Nybegynder
26. juli 2004 - 21:57 #12
Tak for hjælpen detox. Smid et svar.
Avatar billede detox Nybegynder
26. juli 2004 - 21:58 #13
Velbekommen.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester