Nuanses van omskakeling na string in PHP
In die vorige les het ons geleer hoe om getalle as strings bymekaar te tel. Met so 'n optelling is daar egter nuanses wanneer nie veranderlikes bymekaar getel word nie, maar direk getalle.
Die saak is dat die punt nie net gebruik word vir string-konkatenasie nie, maar ook vir die skeiding van die breukdeel van die heelgetaldeel.
As jy spasies rondom die punt plaas, sal daar geen probleme wees nie:
<?php
echo 1 . 2; // sal '12' uitvoer
?>
As jy egter die spasies rondom die punt verwyder, kry ons 'n desimale getal, en nie string-konkatenasie nie:
<?php
echo 1.2; // sal 1.2 uitvoer
?>
As gevolg van sulke nuanses kan jy maklik 'n fout kry as jy 'n spatie aan die een kant van die punt plaas en aan die ander kant nie:
<?php
echo 1. 2; // sal 'n fout gee
?>
Met veranderlikes sal hierdie probleem egter nie voorkom nie:
<?php
$a = 1;
$b = 2;
echo $a.$b; // sal '12' uitvoer, en nie 'n fout nie
?>
Die outeur van die kode wou die
getalle 3 en 4
as strings bymekaartel:
<?php
echo 3.4;
?>
Die kode werk egter nie korrek nie. Korrigeer die outeur se fout.