On Wed, 14 Jun 2006 08:09:23 +0200, Bertel Lund Hansen
<nospamfilius@lundhansen.dk> wrote:
>> Jeg skal bruge en kontrolkode, der gør at noget udskrives, hvis brugeren
>> BÅDE har postet et felt "Write" og hvis samtidig en session med navnet
>> "medlem_id" eksisterer. Jeg har testet 3 måder at skrive denne if-sætning,
>> og - tilsyneladende - virker de alle korrekt.
>Hrrm!
Det kan være, der kun testes når de alle er sat. Hvis der er tale om
en bestemt form, så vil de sandsynligvis være sat under alle
omstændigheder (hvilket så ikke betyder at de rent faktisk også
indeholder noget).
>> Nogen gode råd?
>
>Vælg den notation du bedst kan lide.
>
>&& og || er C(++)-notation.
Jeg vil anbefale kun at bruge && og || - man ser ikke AND eller OR så
meget i PHP-kode. Derudover kan det anbefales at man er konsekvent i
hvilket "sæt", man vælger - altså enten bruger "&& og ||" eller "AND
og OR".
(teknik-forklaring forude)
Ellers kan man få sig nogle overraskelser i forhold til
operator-precedence. I hver af de sæt vil "og" binde stærkere end
"eller", men blander man sættene, kan det modsatte være tilfældet.
var_dump(0 && 0 || 2); // true
var_dump(0 && 0 OR 2); // true
var_dump(0 AND 0 OR 2); // true
var_dump(0 AND 0 || 2); // false
I det sidste tilfælde kan vi se, at "||" har højere precedence end
"AND" - svarende til: (0 && (0 || 2))
--
- Peter Brodersen
Ugens^WMånedens^WSommerens værktøj - Find vej:
www.findvej.dk
Nu med link direkte til en adresse, fx:
www.findvej.dk/Bredgade28,1260