Automatická konverzia typov v PHP
Ako už viete, reťazce v PHP by mali byť uzavreté v úvodzovkách. Môže sa stať, že všetky znaky reťazca budú číslice. V tomto prípade, ak vykonáme nejakú matematickú operáciu s reťazcom obsahujúcim číslice - táto operácia bude vykonaná tak, ako keby sme mali naozaj čísla, a nie reťazce:
<?php
echo '1' + '2'; // vypíše 3
?>
V tomto prípade PHP vidí, že sa pokúšame vykonať operáciu, ktorá je pre reťazce neprípustná, ale pre čísla prípustná. Tiež vidí, že v skutočnosti naše reťazce sú čísla v úvodzovkách. Preto PHP automaticky vykoná konverziu týchto reťazcov na čísla a vykoná príslušnú matematickú operáciu s nimi.
Podobným spôsobom prebehne sčítanie reťazca s číslicami a obyčajného čísla:
<?php
echo '1' + 2; // vypíše 3
?>
Pritom nebude mať význam, v akom poradí vykonávať sčítanie:
<?php
echo 1 + '2'; // vypíše 3
?>
Všetko povedané bude fungovať podobným spôsobom aj pre premenné:
<?php
$a = '1';
$b = '2';
echo $a + $b; // vypíše 3
?>
Bez spustenia kódu určite, čo sa vypíše na obrazovku:
<?php
$a = '1';
$b = '2';
echo $a + $b + '3';
?>