Guide: PHP- & MySQL-innføring: Kapittel 2

Syntaks, variabler og og ut-data

Nå er det endelig klart for et nytt kapittel i vår PHP- og MySQL-innføring. Denne gangen går vi løs på syntaks, variabler og ut-data.

Apostrof eller anførselstegn?

I PHP kan man i mange tilfeller selv velge om man vil benytte seg av apostrof (') eller anførselstegn ("). Mange sliter med å skjønne forskjellen, og blir overrasket når skriptene de skriver ikke fungerer som det er tenkt.

En viktig faktor å huske på er at en apostrof godt kan puttes inn mellom anførselstegn, og omvendt. Se eksempelet:

<?php
echo "I'm starting to understand this PHP-shit!";
?>

Dette vil fungere helt fint. Apostrofen vil ikke oppfattes som et tegn på at echo-kommandoen er over, ettersom vi i eksempelet over bruker anførselstegn. Skriver vi derimot følgende:

<?php
echo 'I'm not understanding this!';
?>

...vil vi få en feilmeldingen av typen parse error (unexpected T_STRING). Det er imidlertid svært stor forskjell på egenskapene til apostrof og anførselstegn.

<?php
$variabel = "Dette er verdien";
echo '$variabel';
echo '<br>'; //Linjeskift i HTML
echo "$variabel";
?>

Kjører vi dette skriptet vil vi få følgende som ut-data:

$variabel
Dette er verdien

Dette er fordi alt som står mellom apostrofer oppfattes som ren tekst. Har vi det mellom anførselstegn vil imidertid PHP-parseren oppfatte at det er en variabel, og vil skrive ut verdien av variabelen isteden.

PHP har noen bestemte tegn som vil bli erstattet av andre karakterer hvis de starter med en skråstrek av typen \ (backslash). Disse fungerer kun ved bruk av anførselstegn ("), altså ikke ved bruk av apostrofer (').

  • \n blir erstattet med en ny linje.
  • \r blir erstattet med et returkarakter.
  • \t blir erstattet med en tab-karakter.
  • \$ blir erstattet med et dollartegn.
  • \" blir erstattet med et anførselstegn.
  • \' blir erstattet med en apostrof.
  • \\ blir erstattet med en skråstrek av den typen (backslash).

Ønsker du dermed å skrive ut et dollartegn i samme echo-sekvens som du inkluderer en variabel, gjør du slik:

<?php
echo "\$dollar";
?>

Ut-dataen vi da vil få er "$dollar". Hadde vi derimot ikke brukt skråstreken hadde PHP-parseren lest det som en henvisning til variabelen med navn dollar.

Hvis vi derimot setter inn disse tegnene ved bruk av apostrofer, så vil selve teksten bli skrevet ut (for eksempel \n). Det eneste unntaket er ved bruk av \', som naturlig nok vil skrive ut en apostrof. Prøv deg frem selv!