Nuances van conversie naar string in PHP
In de vorige les hebben we geleerd om getallen als strings op te tellen. Bij een dergelijke optelling zijn er echter nuances, wanneer niet variabelen worden opgeteld, maar direct getallen.
Het punt is dat de punt niet alleen wordt gebruikt voor het optellen van strings, maar ook voor het scheiden van het breukdeel van het gehele deel.
Als je spaties rond de punt zet, dan zijn er geen problemen:
<?php
echo 1 . 2; // geeft '12' weer
?>
Als je de spaties rond de punt weglaat, dan krijgen we een breuk, en geen stringoptelling:
<?php
echo 1.2; // geeft 1.2 weer
?>
Vanwege dergelijke nuances kan men gemakkelijk een fout krijgen, als je aan de ene kant van de punt een spatie zet, en aan de andere kant niet:
<?php
echo 1. 2; // geeft een foutmelding
?>
Met variabelen zal dit probleem zich echter niet voordoen:
<?php
$a = 1;
$b = 2;
echo $a.$b; // geeft '12' weer, en geen foutmelding
?>
De auteur van de code wilde de
getallen 3 en 4
als strings optellen:
<?php
echo 3.4;
?>
De code werkt echter niet correct. Verbeter de fout van de auteur van de code.