Nuance převodu na řetězec v PHP
V předchozí lekci jsme se naučili sčítat čísla jako řetězce. Při takovém sčítání však existují nuance, kdy se nesčítají proměnné, ale přímo čísla.
Jde o to, že tečka se nepoužívá pouze pro sčítání řetězců, ale také pro oddělení desetinné části od celé.
Pokud kolem tečky vložíte mezery, nebudou žádné problémy:
<?php
echo 1 . 2; // vypíše '12'
?>
Pokud odstraníte mezery kolem tečky, dostaneme desetinné číslo, nikoli sčítání řetězců:
<?php
echo 1.2; // vypíše 1.2
?>
Kvůli takovým nuancím lze snadno získat chybu, pokud na jedné straně tečky vložíte mezeru a na druhé ne:
<?php
echo 1. 2; // vypíše chybu
?>
S proměnnými však tento problém nebude:
<?php
$a = 1;
$b = 2;
echo $a.$b; // vypíše '12', nikoli chybu
?>
Autor kódu chtěl sečíst
čísla 3 a 4
jako řetězce:
<?php
echo 3.4;
?>
Kód však nefunguje správně. Opravte chybu autora kódu.