skumpaq: bemærk at de to |-tegn bare svarer til "eller", dvs. hvis enten den første sammenligning (og/)eller den anden sammenligning er sand, så meldes der fejl. Faktisk evalueres det efter "short circuit", dvs. at hvis den første er sand, så evalueres den anden sammenligning slet ikke -- så kan det ikke betale sig. Er den første derimod falsk evalueres den anden... Tilsvarende med && (som betyder "og"): hvis den første er falsk evalueres den anden ikke, er den første derimod sand evalueres den anden sammenligning.
faktisk kan || erstattes med or og && med and , men os kode-nørder kan godt lide tegn ;) dvs. følgende vil også virke: if ($Form_Start < $Tabel_Slut OR $Form_Slut > $Tabel_Start) { # Fejl }
det med short circuit kan have betydning hvis man laver noget i stil med:
if ('hest' == 'hest' || $bool = (1 == 2))
Nu bliver $bool slet ikke sat til nogen værdi, da det efter || ikke evalueres fordi det første er sandt. Og da bare én af delene skal være sande (der står jo ||) så er det jo ligegyldigt om det efter || er sandt eller falskt -- så det evalueres ikke.
jammen... har vi ikke besvaret dit spørgsmål? Hvis ikke må du spørge igen... jeg forstår ikke hvad du ønsker hjælp til med din kommentar pr. 02/08-2003 00:30:13 -- andre der gør?
Prøv lige at sætte dine form-værdier og db-værdier som intval(form-værdi) og intval(db-værdi) i din if-sætning. Har på fornemmelsen, at den ikke evaluerer dem som tal.
//sostack
Synes godt om
Ny brugerNybegynder
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.