Guide: Kontrollering av verdier
PHP- & MySQL-innføring: Kapittel 3
Sammenlikne verdier
Den mest elementære formen for betingelser er å sammenlikne to verdier. I det følgende eksempelet sammenlikner vi to heltall.
if (3 == 3)
{
echo "Uttrykket stemmer";
}
else
{
echo "Uttrykket stemmer ikke";
}
Her gjennomfører vi en kontroll av de to heltallene "3" og "3", med operatoren ==, som betyr "er lik". Kjører vi dette skriptet vil vi selvsagt få verdien "Uttrykket stemmer". Hadde ikke uttrykket stemt ville vi fått verdien "Uttrykket stemmer ikke".
Vi kan selvsagt gjennomføre denne kontrollen med variabler. Se det følgende eksempelet:
$variabel1 = 3;
$variabel2 = 3;
if ($variabel1 == $variabel2)
{
echo "Uttrykket stemmer";
}
else
{
echo "Uttrykket stemmer ikke";
}
Hvis vi derimot bytter ut == med != vil vi få et helt annet resultat. != betyr nemlig "ikke lik".
$variabel1 = 3;
$variabel2 = 3;
if ($variabel1 != $variabel2)
{
echo "Uttrykket stemmer";
}
else
{
echo "Uttrykket stemmer ikke";
}
Det finnes en rekke slike sammenliknings-operatorer. Her er en komplett liste:
- == (er lik) - Sann hvis de to argumentene er like hverandre
- != (ikke lik) - Sann hvis de to argumentene ikke er like hverandre
- < (mindre enn) - Sann hvis det første argumentet er mindre enn det andre argumentet
- > (størren enn) - Sann hvis det første argumentet er større enn det andre argumentet
- <= (mindre enn eller lik) - Sann hvis det første argumentet er mindre enn eller likt det andre argumentet
- >= (større enn eller lik) - Sann hvis det første argumentet er større enn eller likt det andre argumentet
- === (identisk) - Sann hvis de to argumentene er like hverandre, og av samme type (altså må begge være strenger, eller begge må være heltall osv.)
Det er viktig å merke seg forskjellen mellom =, == og ===. = brukes som kjent til å sette variabler. Kjører du følgende skript:
$a = 1; $b = 2; if ($a = $b) (...)
...vil du sette $a til den samme verdien som $b. I tillegg vil uttrykket bli sett på som sant (TRUE) så lenge $b er satt til en verdi. I tilfellet over skulle vi ha brukt ==, eventuelt === hvis vi ønsket å være sikre på at begge variablene er av samme type.