Naamgeving

Namen van variabelen beginnen ALTIJD met een dollarteken ($), gevolgd door 1 van volgende karakters:

Als derde karakter en volgende mag je 1 van volgende gebruiken:

Hou er dus rekening mee dat cijfers nooit net na het dollarteken mogen komen. Ook punten, koppeltekens en spaties zijn niet toegestaan, op geen enkele plaats.

Maak vooral gebruik van duidelijke namen, met een betekenis. Een variabele als $_inmö98 mag dan wel ge(we)ldig zijn, duidelijk is ze zeker niet. Maak daarom bijvoorbeeld gebruik van onderstaande voorbeelden:

$prijs
$PrijsMetBTW
$prijsMetBtw
$prijs_zonder_btw

Voor namen die bestaan uit meerdere woorden, wordt de voorkeur gegeven aan het derde voorbeeld, waarbij de eerste letter een kleine letter is en vervolgens de eerste letter van elk woord een hoofdletter.

Hou er ook rekening mee dat hoofdletters en kleine letters wel degelijk een verschil maken in PHP. Zo is er een verschil tussen $VOORNAAM, $voornaam en $VoorNaam!

Gebruik van dubbele en enkele aanhalingstekens

Bij het gebruik van de print- en echo-functies, moeten we rekening houden met het verschil tussen dubbele en enkele aanhalingstekens:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  <title>Variabelen</title>
</head>
<body>
  <p><?php
    $lidwoord = 'Een';
    $begroeting = "goede middag";
    print "$lidwoord $begroeting"; //drukt af: Een goede middag
    print ' ($lidwoord $begroeting).'; //drukt af: ($lidwoord $begroeting).
  ?></p>
</body>
</html>

Bij het gebruik van echo heb je hetzelfde.

Bij het gebruik van dubbele aanhalingstekens, wordt de inhoud van de variabele weergegeven, bij het gebruik van enkele aanhalingstekens, wordt de naam van de variabele weergegeven. De inhoud tussen de enkele aanhalingstekens wordt dus niet geparsed.

Voor de rest is het gelijk welke soort we gebruiken, als je er maar voor zorgt dat je je toekenning afsluit met hetzelfde soort, als degene waarmee je begonnen bent.

Soms lijkt het eenvoudiger om over te springen tussen de 2. Als je bijvoorbeeld dubbele aanhalingstekens wilt gebruiken in je string, dan kun je de string beginnen en afsluiten met enkele aanhalingstekens:

Dit kan bijvoorbeeld handig zijn om parameters op te geven voor HTML-code:

  <?php print '<p>En toen zei hij: "De kat bijt, maar de hond blaft."</p>'; ?>

Wat als je nu binnen in je string beide wilt gebruiken? Dan zullen we gebruik moeten maken van escapetekens:

  <?php print "<p>En toen zei hij: \"De kat bijt, maar de hond blaft.\"</p>"; ?>

Zo kunnen we onbeperkt gebruik maken van enkele en dubbele aanhalingstekens.

Deze manier wordt ook meer gebruikt dan het mixen van enkele en dubbele tekens. Voornamelijk omdat je code veel consistenter blijft.

Concatenatie

In het volgende hoofdstuk zullen we ook de concatenatie-operator zien. Dit is gewoon het aan elkaar kleven van 2 verschillende strings. We kunnen dit ook gebruiken om een letterlijke string tussen enkele aanhalingstekens en een variabele aan elkaar te kleven. Dit doen we door middel van de punt-operator (.). Een voorbeeld:

  <p><?php print 'Wij wensen u ' . $begroeting;?></p>

Meer escapen

Naast het escapeteken voor de dubbele aanhalingsteken bestaan er nog een aantal:

Te bereiken teken Gebruikte escapecode
" \"
' \'
\ \\
Tabulator \t
Nieuwe regel \n
Carriage return \r

Hou er wel rekening mee dat deze karakters weergegeven worden in de HTML-code maar dat bij het verwerken van de HTML-code door de browser, er met deze geen rekening gehouden wordt. Deze worden wel vaak gebruikt om de broncode duidelijker te houden:

  <p><?php
    print "Bekijk deze tekst in de broncode.<br />";
    print "Deze regel staat in de broncode ..........................<br />\n";
    print "En deze regel staat in de broncode .......................";
  ?></p>

Nieuwe regels

In PHP kun je ook nieuwe regels opnemen in je variabele.

  <p><?php
    $bon = "Tegen inlevering van deze bon krijgt u
    5.- korting op het gehele assortiment!";
    print $bon;
  ?></p>

Heredoc

Om langere stukken tekst toe te kennen aan een variabele, kunnen we ook de heredoc-syntax gebruiken. Om een heredoc te gebruiken, beginnen we de string met <<<, gevolgd door een unieke code, die zelf gekozen wordt. De heredoc wordt afgesloten door exact dezelfde unieke code te herhalen, maar moet beginnen op de eerste kolom van de regel. De afsluitcode mag enkel bestaan uit letters, cijfers en underscores. De heredoc-syntax gedraagt zich net als de dubbele aanhalingstekens, maar als je dubbele aanhalingstekens gebruikt, binnen de toekenning, moeten deze NIET ge-escaped worden:

  <p><?php
    $tekst = <<<EOD
Bekijk de volgende
tekst in de "broncode".<br />
$bon
EOD;
    print $tekst;
  ?></p>

Verwarrende variabelen

In sommige gevallen zul je een waarde, die in een variabele bewaard wordt, direct aan een volgend stuk tekst willen plakken.

  <p><?php
    $breedteInMeter = 2;
    print "Breedte in centimeter: $breedteInMeter00"; // geeft weer: Breedte in centimeter:
  ?></p>

Dit komt omdat de parser de variabele $breedteInMeter00 niet kent, en er dus gewoon een lege string plaatst. Om dit probleem op te lossen kunnen we de variabele tussen accolades plaatsen:

  <p><?php
    $breedteInMeter = 2;
    print "Breedte in centimeter: {$breedteInMeter}00"; // geeft weer: Breedte in centimeter: 200
  ?></p>

De parser weet zo precies waar de variabele begint en eindigt. Bij onduidelijke variabelen moet je deze altijd tussen accolades plaatsen.

Als je de accolades wilt weergeven zul je deze moeten escapen (enkel de eerste vervangen door \{). Bij het gebruik van accolades zonder variabelen, moet je deze niet escapen.

Als je een afkeer hebt van accolades kun je het ook oplossen als volgt:

print "Breedte in centimeter: " . $breedteInMeter . "00";

Toch verdient het gebruik van accolades de voorkeur, omdat dit, weeral, leesbaarder blijft.

Weergeven Broncode