2. Beginnen met PHP

2.2 - Variabelen en rekenkundige operators

Het concept variabele is soms in het begin lastig om te begrijpen. Laten we daarom goed kijken naar wat het woord "variabele" betekent: het is een waarde die variabel is, waar een naam aan gegeven is. Dit klinkt nu alsnog erg abstract, dus we gaan nog iets beter specificeren wat het nu precies is.

Laten we de naam leeftijd gebruiken voor onze variabele. Als we uit willen rekenen hoe lang het duurt voordat jij 100 wordt, moeten we de volgende formule uitrekenen:

100 - leeftijd = aantal jaar tot honderdste verjaardag

De formule blijft hetzelfde, ongeacht de waarde van leeftijd.

Een andere manier om ernaar te kijken is op basis van de wiskunde. Kun je je van lineaire algebra de volgende formule nog herinneren?

y = ax + b

Zoals je je misschien nog kunt herinneren, is dit de formule voor een rechte lijn (ofwel een evenredig verband). Wat interessant is, is dat we hier te maken hebben met allerlei variabelen (y, a, x en b). Deze hebben allemaal een bepaalde waarde. In die zin is een wiskundige variabele niets anders dan een variabele in programmeren. Ze kunnen wisselen van waarde, maar het symbool ofwel de naam blijft hetzelfde!

2.2.1 - Regels bij het maken van variabelen

Laten we het eerdere voorbeeld even gebruiken om een stuk code te schrijven. Voordat we dat kunnen doen, maken we eerst afspraken over de naamgeving van onze variabelen:

  • Het eerste symbool is altijd een $ (dollarteken)
  • Een variabele bestaat uit letters zonder accent, cijfers en eventueel underscores ( _ )
  • Na het dollarteken niet beginnen met een cijfer
  • Na het dollarteken niet beginnen met een underscore ( _ )
  • Namen van variabelen zijn HooFdLeTTergEvoELiG

Nu we dit lijstje met regels hebben, kunnen we van het volgende lijstje met variabelen zeggen welke wel en welke niet correct zijn:

<?php
$variabele1 = 1; /* correct */
$VaRiAbElE2 = 2; /* correct, maar zeer onhandig in gebruik */
$1variabel3 = 3; /* incorrect, begint met een cijfer */
$_variabel4 = 4; /* incorrect, begint met een underscore */
$väriábelê = 5; /* incorrect, er zitten namelijk "bijzondere" letters in */
$variabele-naam = 6; /* incorrect, - is geen geldig teken */
$variabele.naam = 7; /* incorrect, . is geen geldig teken */
$variabeleNaamMetCamelCase = 8; /* correct en heeft de voorkeur */
?>

De laatste variant is nog iets bijzonderder: als we een variabele met Camel Case doen, beginnen we ieder nieuw "natuurlijk" woord in de variabele met een hoofdletter. De eerste letter is daarentegen een kleine letter. Dit maakt de naam van een variabele leesbaarder en het is ook nog eens een internationaal erkend systeem voor naamgeving van variabelen. In het Engels zou je de volgende variabele kunnen krijgen:

$amountOfRevisions = 12;

Wat de naamgeving van variabelen verder betreft: meestal heb je alleen woorden nodig en die leveren nooit problemen op.Houd je variabelen eenvoudig en geef ze duidelijke namen.

Hoe beter de naamgeving van je variabelen, hoe prettiger het is om later je code terug te lezen en snel te begrijpen!

2.2.2 - Hoe lang voordat je 100 wordt?

Nu we weten hoe je een variabele op kunt stellen, is het goed om eens te kijken hoe we dit in de praktijk kunnen brengen. Laten we uitgaan van de volgende code:

<?php
$leeftijd = 28;
$aantal = 100 - $leeftijd;

echo "Nog {$aantal} jaren tot je 100 bent!";
?>

Er gebeuren hele interessante dingen in dit kleine stukje code. We gaan het weer even ontleden.

Eerst hebben we een variabele gemaakt waar je je eigen leeftijd in kunt vullen:

$leeftijd = 28;

Vervolgens hebben we het aantal jaren tot je honderd bent berekend en het resultaat daarvan in de variabele $aantal gezet!

$aantal = 100 - $leeftijd;

Dit heeft verregaande consequenties, want dit betekent dat we het resultaat van berekeningen of bewerkingen kunnen opslaan in een nieuwe (of dezelfde) variabele. In het geval van het voorbeeld zal de waarde in de variabele $aantal dus 72 zijn.

Omdat we graag een leesbare tekst willen laten zien, gebruiken we echo weer om de tekst op het scherm te tonen:

echo "Nog {$aantal} jaren tot je 100 bent!";

Wat enorm gaaf is aan dit regeltje code, is dat we dus midden in een zin de waarde van een variabele kunnen laten zien! Wat we doen, is dat we de naam van de variabele tussen { en } zetten.

2.2.3 - Statements en definities

Statements
Er is je vast iets opgevallen aan de bovenstaande codes. Elke keer als we een variabele een bepaalde waarde hebben gegeven, eindigen we de regel met een puntkomma. En elke keer als we een echo hebben gebruikt, eindigen we ook met een puntkomma. Daarmee komen we langzaam op het punt waar we niet meer ontkomen aan terminologie en vaktermen.

Een regel code waar een puntkomma achter staat, noemen we in vaktermen een statement. Een statement is een stuk code waarin een opdracht uitgevoerd wordt. Of dit nu het toewijzen van een waarde aan een variabele is, of dat dit nu een stukje tekst weergeven is, maakt niet uit.

Definities
Een definitie is het geven van een bepaalde betekenis aan een term of begrip, waar iedereen het over eens kan zijn. In het dagelijks leven maakt het zaken een stuk makkelijker, omdat je weet wat een tafel, een stoel, een mes en een vork is. De betekenis of definitie van deze woorden kun je in een woordenboek vinden.

Bij programmeren werkt dit ongeveer hetzelfde, alleen bepaal je zelf de definities van de variabelen. Daarom noemen we een waarde geven aan een variabele ook wel definiëren. Nog een snel voorbeeld van het definiëren van een variabele:

$naam = "Henk";

2.2.4 - Rekenkundige operators

Computers zijn in eerste instantie uitgevonden om snel complexe berekeningen uit te kunnen voeren. Het zal je daarom niet verbazen dat programmeertalen enorm veel mogelijkheden bieden om allerlei wiskundige bewerkingen uit te voeren. In vrijwel alle talen kan er vermenigvuldigd worden, gedeeld, opgeteld en afgetrokken. Maar daar houdt het niet op!

Bewerking Naam Voorbeeld
+ Optellen 1 + 1 = 2
- Aftrekken 3 - 1 = 2
* Vermenigvuldigen 3 * 4 = 12
/ Delen 12 / 4 = 3
% Modulus 13 / 4 = 1

 

Modulus
Waarschijnlijk ben je nog niet bekend met de modulus. Stel je voor dat je 13 deelt door 4. De vraag die je eigenlijk stelt is: hoe vaak past 4 in 13? Als je gaat delen, krijg je als antwoord: 3,25. Bij de modulus zijn we niet op zoek naar hoe vaak 4 in 13 past, maar wat je overhoudt wanneer je dit zo vaak mogelijk hebt gedaan.

Dat werkt dus als volgt: 4 past 3 keer "in zijn geheel" in 12. Maar dan hebben we nog 1 over. En die 1 is wat modulus teruggeeft.

Een praktijkvoorbeeld: m = x % 2. Bij x = 12, geeft de formule m = 0. Bij x = 13, geeft de formule m = 1. Met andere woorden: als je 1 terugkrijgt, heb je te maken met een oneven getal en als je 0 terugkrijgt heb je te maken met een even getal.

Voorbeelden in code

echo 3 * 6;
echo 3 / 2;
echo 4 + 2;
echo 6 - 3;
echo 5 % 2;

De volgorde van bewerkingen is in principe hetzelfde als bij normale wiskunde. Toch is het handig om twijfel te voorkomen en haakjes te gebruiken. Denk aan de vele Facebook posts waar men antwoord moet geven op een rekenvraag, en het aantal foute antwoorden dat daarbij gegeven wordt. Met haakjes haal je elke vorm van twijfel weg. Dit ziet er als volgt uit:

echo (((4 * 5) + 5) / 2) + 5;

Dit zou strikt genomen korter opgeschreven kunnen worden als:

echo (4 * 5 + 5) / 2 + 5;

Immers. De vermenigvuldiging van 4 * 5 wordt eerder uitgevoerd dan optellen, en (...) / 2 wordt eerder uitgevoerd dan 2 + 5. Toch loont het om elke vorm van verwarring te vermijden, ook wanneer je alleen zelf in je code werkt en niet in teamverband. Een foutje is snel gemaakt en snel over het hoofd gezien!



Reacties

Er zijn nog geen reacties.
 Meld je aan met LinkedIn om te reageren