Skip to main content

2.1 Strings

In deze les gaan we nog wat meer kijken naar strings en het verschil tussen " en ' (double quotes and single quotes).

Wat is een string?

Een string is een rijtje van karakters. Deze karakters kunnen van alles zijn: letters, cijfers, leestekens, spaties, ....

Als je een string maakt in PHP (en andere prgrammeertalen)programmeertalen) dan moet je quotes gebruiken om aan te geven dat je een string bedoeld. Als je dat niet doet dan zou PHP niet weten wat je bedoeld:

Bijvoorbeeld echo en "echo" zijn twee verschillende dingen! Zonder quotes is het een commando en met quotes is het string.

Nog een voorbeeld $naam is wat anders dan "$naam". De eerste is de variabele en de tweede is een string.

Dus:

echo $naam;

is wat anders als

echo "$naam";

Quotes

 Een string hoort dus tussen quotes, maar wat is het verschil tussen double quotes en singel quotes?

Single quotes  en escape

Dit is de meeste eenvoudige vorm. Een string tussen single quotes is gewoon een string en alles wat tussen de singel quotes staat is onderdeel van de string. Er is dan wel een klein probleempje: namelijk hoe maak je een string met een single quote?

Probeer maar: echo 'Dit is een ' single quote' werkt niet!

Dat komt omdat PHP denkt dat de string wordt afgesloten door de tweede quote.

Er geldt dus een uitzonderingsregel voor het maken van een string met een single quote. En die regel is dat als een singel quote onderdeel uitmaakt van een string je de singel quote moet 'escapen' en dat doe je als volgt:

echo 'Dit is een \' singel quote.';

echo 'I\'ll be back!';

Double quotes

Double quotes zijn eigenlijk ingewikkelder omdat veel zaken die je tussen double quotes intypt worden gerenderd. Renderen betekent 'omzetten'. Als je bijvoorbeeld een variabele in een string tussen double quotes zet dan wordt niet de variabele naam, maar de waarde van de variabele afgedrukt.

Probeer de volgende code maar eens uit en zie wat het verschil is.

$naam="The Big Boss";
echo "Who is $naam";
echo "<br>";
echo 'Who is $naam';