Avatar billede saison Nybegynder
12. april 2004 - 18:40 Der er 15 kommentarer og
2 løsninger

Hvis enten den ene eller anden er ugyldig

Hej, jeg har siddet og rodet lidt med følgende jeg ikke kan få til at virke korrekt:

if(!$a || !$b || !$c and !$d){
echo "én fungerer ikke"; }

Det virker, men det er ikke det jeg vil have. Jeg vil have det sådan, så enten hvis '$a', '$b' eller '$c eller $d' ikke er angivet skal den skrive "én fungerer ikke".

Det vil sige hvis
!$a = fejl
!$b = fejl
!$c and !$d = fejl
!$c ELLER !$d = IKKE fejl

der behøves kun at være angivet enten c eller d.
Avatar billede dennismp Nybegynder
12. april 2004 - 18:44 #1
if(!(!$c OR !$d )) ?
Avatar billede mat Nybegynder
12. april 2004 - 18:46 #2
((!$a || !$b) || (!$c and !$d)) ?
Avatar billede dennismp Nybegynder
12. april 2004 - 18:47 #3
sausib: Det jeg har gjort er bare at tage udgangspunkt i
"!$c ELLER !$d = IKKE fejl"

og så not'e resultatet. Så finder du fejlen :)
Avatar billede mat Nybegynder
12. april 2004 - 19:05 #4
disregard min kommentar - jeg havde vist ikke læst spg ordentligt :/
Avatar billede mikl-dk Nybegynder
12. april 2004 - 19:16 #5
if ((!$a) || (!$b) || (!$c && !$d) || ($c && $d))
// fejl
Avatar billede mikl-dk Nybegynder
12. april 2004 - 19:16 #6
Sry :$
Avatar billede mikl-dk Nybegynder
12. april 2004 - 19:18 #7
if ((!$a) || (!$b) || (!$c && !$d)) // burde kunne gøre det?
Avatar billede dennismp Nybegynder
12. april 2004 - 19:23 #8
Nåja, ba' være besværlig :)
Avatar billede mikl-dk Nybegynder
12. april 2004 - 19:29 #9
dennismp, mine øjne må have været klistret :) så ikke du havde det samme :)

Om ikke andet må følgende være den korteste:
if (!$a||!$b||(!$c&&!$d)) (ved ikke om der skal være mellemrum :D)
Avatar billede dennismp Nybegynder
12. april 2004 - 20:15 #10
mikl: jeg har lavet det første svar. Jeg tror du tager fejl af mig og mat.

Mellemrum er ligegyldigt.
Avatar billede saison Nybegynder
12. april 2004 - 20:35 #11
Er dine øjne klistrede?! Ej hvor lækkert :o)

Jeg kigger på det senere, ((!$a || !$b) || (!$c and !$d)) ser rigtigt ud.
Avatar billede dennismp Nybegynder
12. april 2004 - 20:41 #12
Jeg må vist prøve at forklare min, da alle ser ud til at mene at den er forkert.

Den nemmeste at teste er:
!$c ELLER !$d = IKKE fejl

det svare til
if( !$c OR  !$d )

Men nu har vi fundet når der IKKE er fejl, derfor skal vi lige "vende den", det gør vi med not

if(!( !$c OR  !$d )) ...
Avatar billede saison Nybegynder
12. april 2004 - 21:03 #13
if( !$c OR  !$d )

Men nu har vi fundet når der IKKE er fejl, derfor skal vi lige "vende den", det gør vi med not

if(!( !$c OR  !$d )) ...

Hvad er forskellen?
Avatar billede saison Nybegynder
12. april 2004 - 21:03 #14
Nååh, ved det :o)
Avatar billede saison Nybegynder
12. april 2004 - 21:08 #15
if ((!$a) || (!$b) || (!$c && !$d)) virkede mest overskuelig og virkede, så den har jeg brugt. Men tak til alle.
Avatar billede mat Nybegynder
12. april 2004 - 21:38 #16
så havde jeg måske ikke misforstået alligevel? Men der er da ikke megen mening i at sætte parenteser rundt om en alenestående operand? eller?
Avatar billede mikl-dk Nybegynder
12. april 2004 - 21:43 #17
Nej, kun for overskuelighedens skyld.
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