Magnus Holm Skrevet 24. juli 2005 Del Skrevet 24. juli 2005 Hei! Jeg prøvde dette: function funksjon($variabel1, $variabel2) { if (isset($variabel2)) { // Kode hvis begge er satt } else { // Kode hvis $variabel2 IKKE er satt } } Det virka dårlig... Forslag? Lenke til kommentar
diskvask Skrevet 24. juli 2005 Del Skrevet 24. juli 2005 function funksjon($variabel1, $variabel2) { if (isset($variabel1) and isset($variabel2)) { // Kode hvis begge er satt } elseif (!isset($variabel2)) { // Kode hvis $variabel2 IKKE er satt } } Lenke til kommentar
Magnus Holm Skrevet 24. juli 2005 Forfatter Del Skrevet 24. juli 2005 Virker ikke får bare: Warning: Missing argument 2 for funksjon() in W:\www\func.php on line 196 Lenke til kommentar
???????? Skrevet 24. juli 2005 Del Skrevet 24. juli 2005 Du må definere begge variablene. Lenke til kommentar
diskvask Skrevet 24. juli 2005 Del Skrevet 24. juli 2005 Enten gjør kallet til funksjonen med null som andre parameter, dvs. funksjon($var, null); Eller gjør følgende endring som setter den andre variabelen til null som standard: function funksjon($variabel1, $variabel2 = null) { Lenke til kommentar
BlueEAGLE Skrevet 25. juli 2005 Del Skrevet 25. juli 2005 function MyTest($Var1, $Var2=null){ if(empty($Var2)) { echo 'Var2 er tom'; } else { echo 'Var2 er ikke tom'; } } Det kan være at isset() fungerer, isåfall så mener jeg at det er feil siden $Var2 er satt, riktignok til NULL, men den er allikevel satt. if(empty()) vil fungere både med MyTest('Jalla'); og MyTest('Jalla', ''); Lenke til kommentar
Magnus Holm Skrevet 25. juli 2005 Forfatter Del Skrevet 25. juli 2005 Hmm... Tak for tipset Lenke til kommentar
Torbjørn Skrevet 25. juli 2005 Del Skrevet 25. juli 2005 function MyTest($Var1, $Var2=null){ if(empty($Var2)) { echo 'Var2 er tom'; } else { echo 'Var2 er ikke tom'; } } Det kan være at isset() fungerer, isåfall så mener jeg at det er feil siden $Var2 er satt, riktignok til NULL, men den er allikevel satt. if(empty()) vil fungere både med MyTest('Jalla'); og MyTest('Jalla', ''); Phpmanualen er uenig med deg: $foo = NULL; var_dump(isset($foo)); // FALSE Lenke til kommentar
Hazno Skrevet 26. juli 2005 Del Skrevet 26. juli 2005 Det kan være at isset() fungerer, isåfall så mener jeg at det er feil siden $Var2 er satt, riktignok til NULL, men den er allikevel satt. Feil. $var = NULL; if (isset($var)) // FALSE if (empty($var)) // TRUE $var = 0; if (isset($var)) // TRUE if (empty($var)) // TRUE $var = 1; if (isset($var)) // TRUE if (empty($var)) // FALSE Tror det er slik det funker. Lenke til kommentar
???????? Skrevet 26. juli 2005 Del Skrevet 26. juli 2005 isset tolker NULL som ikke satt, det er fordi 0 og NULL ikke er det samme. 0 er et tall, der i mot i boolean sammenheng er 0 = FALSE - men det er ikke det som sjekkes. Har man ikke definert en variabel så er den NULL. Ved å sette en variabel til NULL så får den samme "verdi" som den ikke skulle vært satt, og er derfor ikke satt. Nå er jeg litt på tynn is, men jeg mener at unset() også setter variabler til NULL. Det er viktig at du merker deg at NULL ikke er det samme som "" eller 0, men det samme som ikke satt (!isset) Lenke til kommentar
Torbjørn Skrevet 27. juli 2005 Del Skrevet 27. juli 2005 Jeg forstår likevel godt de som resonerer slik at å sette en variabel til NULL, fremstår som å initiere den, eller "sette" den. Selvom i virkeligheten en variabel tilsynelatende er NULL uansett om den er brukt før eller ikke. Lenke til kommentar
???????? Skrevet 27. juli 2005 Del Skrevet 27. juli 2005 De må bare tenke at NULL betyr ikke satt, ubrukt eller fjernet. Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå