Guide: Kontrollering av verdier
PHP- & MySQL-innføring: Kapittel 3
Logiske operatorer
En logisk operator er en operator som forbinder logiske uttrykk (som boolske uttrykk) til å produsere nye boolske verdier (TRUE eller FALSE). Med andre ord forbinder logiske operatorer flere uttrykk sammen, og utfører funksjoner avhengig av utfallet av uttrykkene. Som i alle programmeringsspråk finnes det i PHP en rekke logiske operatører. Først ser vi på &&, på engelsk kalt "and" ("og").
$number1 = 5;
$number2 = 10;
$number3 = 12;
$number4 = 15;
if ($number1 < $number2 && $number4 > $number3)
{
echo "Uttrykkene stemmer";
}
else
{
echo "Uttrykkene stemmer ikke";
}
I dette eksempelet bruker vi den logiske operatoren && for å indikere at både uttrykket "5 er mindre enn 10" og uttrykket "15 er mer enn 12" må stemme for at kontrolleringen skal returnere TRUE, og dermed gjennomføre kommandoen(e). I dette skriptet stemmer begge uttrykkene, og vi vil derfor få teksten "Uttrykkene stemmer".
På samme måte kan vi gjennomføre en kontroll som kun krever at én av uttrykkene skal stemme, ved hjelp av || (på engelsk "or", norsk "eller").
$number1 = 5;
$number2 = 10;
$number3 = 15;
$number4 = 12;
if ($number1 < $number2 || $number4 == $number3)
{
echo "Ett eller flere av uttrykkene stemmer";
}
else
{
echo "Ingen av uttrykkene stemmer";
}
I dette eksempelet stemmer uttrykket "5 er mindre enn 10", mens uttrykket "12 er lik 15" ikke stemmer. || indikerer imidlertid at det er nok at ett av uttrykkene stemmer, og vi vil derfor få returnert teksten "Ett eller flere av uttrykkene stemmer".
Vi kan også sette sammen flere logiske operatorer i en og samme if-gren. Skal vi gjøre dette gjøres det på følgende måte:
$var1 = 1; $var2 = 1; $var3 = 2; if (($var1 == $var2 && $var2 < 1) || ($var1 != $var3 && $var3 > $var2)) (...)
(Hvor (...) representerer det videre skriptet.)
Her er en liste over alle logiske operatorer i PHP5:
and- Er sann hvis begge uttrykkene stemmeror- Er sann hvis minst ett av uttrykkene stemmerxor- Er sann hvis ett av (men ikke begge) uttrykkene er sanne&&- Akkurat samme somand||- Akkurat samme somor!- Er sann hvis uttrykket til høyre er usant