Gå til innhold

Slettet: Hvordan bruke...


Anbefalte innlegg

Videoannonse
Annonse

Spørsmål:

 

Betyr 1|2|3 det samme som 1, 2, eller 3? Eller en ID som heter 1|2|3?

 

Spørsmål II:

 

Sist gang jeg sjekket satt man spørsmålstegnet forran == og ikke verdien.

 

Spørsmål III:

 

Hvorfor lager du ikke ett litt mer ryddig eksampel?

Lenke til kommentar

Huff og huff. Ikke bare bør det være litt mer ryddig (hvor er intentering i koden?), som poengtert over, men det kan være en stor fordel å faktisk skjønne det man selv skriver, i dette tilfellet operatorer. Koden slik den er skrevet vil aldri fungere som tenkt. !1|2|3 betyr på ingen måter «alt annet enn 1, 2 og 3». ! (not/ikke) og | (or/eller) er binære operator, og resultatet blir derfor 3 (!1 = false og en or-operasjon på 0/false, 2 og 3 gir 3).

Endret av Ernie
Lenke til kommentar

Nei, det vil ikke fungere. Som sagt, | er en binær operator, ikke logisk. F.eks blir 1 | 2 = 3 fordi binært sett får du 01 | 10 = 11 (i en eller-operasjon blir resultatet alle satte bit fra hvert av tallene). Et litt mer komplisert eksempel: 13 | 11 = 15 (binært sett: 1101 | 1011 = 1111)

 

|| eller OR er derimot logiske operatorer hvor et av uttrykkene må være sant. Derfor blir 1 || 2 = true, ikke 3. Derfor er man også pent nødt til å si ($var == 1 || $var == 2) fordi det sjekker om trykket ($var == 1) eller ($var == 2) er sant. ($var == 1|2) vil derimot sjekke om $var == 3.

 

For ordensskyld vil ikke $var == 1||2 fungere heller fordi det er ekvivalent med å si ($var == 1 || true) som alltid gir true.

Endret av Ernie
  • Liker 1
Lenke til kommentar
Gjest
Dette emnet er stengt for flere svar.
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...