Stringiks teisendamise nüansid PHP-s
Eelmises õppetükis õppisime liitma numbreid stringidena. Sellisel liitmisel on aga nüansse, kui liidetakse mitte muutujaid, vaid kohe numbreid.
Asi on selles, et punkti kasutatakse mitte ainult stringide liitmiseks, vaid ka murdosa eraldamiseks täisosast.
Kui punkti ümber panna tühikud, siis probleeme ei teki:
<?php
echo 1 . 2; // väljastab '12'
?>
Kui aga punkti ümbert tühikud eemaldada, saame murdosa, mitte stringide liitmise:
<?php
echo 1.2; // väljastab 1.2
?>
Selliste nüansside tõttu võib kergesti saada vea, kui punkti ühel küljel panna tühik ja teisel - mitte:
<?php
echo 1. 2; // annab vea
?>
Muutujatega aga sellist probleemi ei teki:
<?php
$a = 1;
$b = 2;
echo $a.$b; // väljastab '12', mitte vea
?>
Koodi autor tahtis liita
numbreid 3 ja 4
stringidena:
<?php
echo 3.4;
?>
Kood aga ei tööta õigesti. Parandage koodi autoril olev viga.