Programmeren in PHP/Rekenen
Uit Wikibooks
Het komt nogal eens voor dat je berekeningen uit moet voeren in PHP. Hieronder volgt een uitleg over het uitvoeren van enkele simpele berekeningen. Moeilijkere berekeningen komen later aan bod.
Inhoud |
[bewerk] Optellen
PHP-code:
<?php //Tel 8 bij 10 op en druk het resultaat af echo 10 + 8; ?>
[bewerk] Aftrekken
PHP-code:
<?php /*Net als optellen gebruik je hetzelfde symbool voor aftrekken als je bij wiskunde doet Trek 300 van 500 af en print het resultaat */ echo 500 - 300; ?>
[bewerk] Vermenigvuldigen
PHP-code:
<?php //Vermenigvuldig 2 met 23 en druk het resultaat af echo 2 * 23; ?>
[bewerk] Delen
PHP-code:
<?php //Deel 4 door 3 echo 4 / 3; ?>
[bewerk] Modulo
Het kan soms voorkomen dat je iets in een loop wilt laten gebeuren om de x keer, daar is de modulo-operator voor uitgevonden. De modulo van een getal met een ander getal is de rest van een (staart)deling (9%2 = 1, want 9/2 = 4 met 1 rest). Voor een modulo gebruik je de %-operator als volgt:
PHP-code:
<?php echo 4 % 2; // is nul, vier gedeeld door twee heeft namelijk geen rest echo 5 % 2; // dit is een, vijf gedeeld door twee is twee + een als rest ?>
[bewerk] Increment en decrement-operatoren
De operatoren ++ en -- heten de 'increment operators'. Ze verhogen (incrementeren) of verlagen (decrementeren) een getal met 1. Je kunt ze op 2 manieren toepassen. De eerste manier heet 'postfix' en die heb je hierboven gebruikt:
PHP-code:
<?php $a = 100; echo $a++; ?>
Dit scriptje geeft gek genoeg '100' als uitvoer. Vreemd, zou je zeggen, maar het wordt nog vreemder als je dit doet:
PHP-code:
<?php $a = 100; echo $a++; echo $a; ?>
De tweede 'echo' zal nu wel '101' uitspugen! $a++ betekent niet zomaar increment, maar het betekent eigenlijk 'increment pas nadat je de waarde van $a hebt doorgegeven'. Klinkt nogal krom eigenlijk, maar het wordt wellicht duidelijker als we de 'prefix' operator erbij pakken. 'Prefix' wil zeggen dat de ++ niet achter de variabele $a staat, maar ervoor. Bij prefix wordt wel eerst increment gedaan en dan pas de waarde van $a doorgegeven:
PHP-code:
<?php $a = 100; echo $a++; /* 100 */ echo $a; /* 101 */ $a = 100; echo ++$a; /* 101 */ echo $a; /* 101 */ ?>
Als je liever geen rekening wil houden met het verschil tussen 'postfix' en 'prefix', dan kun je uiteraard gewoon je code spliten over 2 regels:
PHP-code:
<?php $a = 100; $a++; echo $a; /* 101 */ ?>
Dat is in sommige gevallen duidelijker. Het is sowieso in sommige gevallen fijn om niet afhankelijk te zijn van de 'voorrangsregels' voor operators.
Om te verhogen of verlagen in PHP heb je de volgende operatoren:
| Operand | Betekenis |
| ++ | Verhoog variabele met 1 |
| -- | Verlaag variabele met 1 |
| += | Verhoog variabele met een bepaalde waarde, bijvoorbeeld bij $a += 5 wordt er 5 opgeteld bij $a |
| -= | Verlaag variabele met een bepaalde waarde, bijvoorbeeld bij $b -= 2 wordt er van $b 2 afgetrokken |
| *= | Vermenigvuldig variabele met een bepaalde waarde, dus $b *= 3, is eigenlijk $b = $b * 3 |
| /= | Deel variabele met een bepaalde waarde, dus $b /= 3, is eigenlijk $b = $b / 3 |
[bewerk] Machten
Rekenen met machten doe je door de functie pow() (je kan niet zeggen 5^3 omdat ^ de bitwise XOR-operator is, maar dat terzijde.)
PHP-code:
<?php echo pow (5,3); ?>
[bewerk] Wortel
PHP heeft een functie om wortels uit te rekenen, maar daar kun je alleen vierkantswortels mee berekenen, het berekenen van een vierkantswortel, oftwel de tweedemachts wortel, gaat als volgt
PHP-code:
<?php //dit geeft als resultaat: 7 want 7*7=49 echo sqrt (49); ?>
Nou zul je je afvragen hoe je dan wortels uitrekent met een ander grondgetal, daarvoor heb je een beetje wiskundige kennis nodig. Het is namelijk zo dat een wortel (bijna) het tegenovergestelde is van een macht, je kunt dus de wortel uitrekenen door de inverse van het exponent te nemen. Een vierkantwortel kun je dus ook zo schrijven:
PHP-code:
<?php echo pow (5, 1/2); ?>
Zoals je ziet bereken je de inverse door 1 door het getal te delen. Om nou een getal met een hoger grondgetal te nemen, bijvoorbeeld 6 doe je dus het volgende
PHP-code:
<?php echo pow (5, 1/6); ?>
[bewerk] Andere wiskundige functies
Een aantal veelgebruikte functies in PHP zijn round($nummer,$precisie), abs($nummer), floor($nummer) en ceil($nummer). Hieronder zie je hoe ze werken in het kort:
PHP-code:
<?php $afgerond = round(133.756859402, 2); /* $afgerond is nu 133.76 */ $abs = abs(-1337); /* $abs is nu 1337 */ $floor = floor(2.58694); /* $floor is nu 2 */ $ceil = ceil(2.35125); /* $ceil is nu 3 */ ?>
Verder zijn sin($nummer), cos($nummer), tan($nummer), exp($nummer), rad2deg($nummer), sinh($nummer), cosh($nummer), tanh($nummer), log($nummer) en nog veel meer wiskundige functies beschikbaar.
| De wijzigingen aan deze pagina van voor 15 april 2007 vallen alléén onder de GFDL, en niet onder de CC-BY-SA-licentie. U kunt de inhoud van deze pagina dan ook alleen onder de voorwaarden van de GFDL (her)gebruiken. Niet alle bijdragers van voor 15 april 2007 hebben hun werk vrijgegeven onder de dubbellicentie GFDL&CC-BY-SA. Kijk hier voor meer informatie. |

