Automatische typeconversie in PHP
Zoals je al weet, moeten strings in PHP tussen aanhalingstekens staan. Het kan zijn dat alle karakters van de string cijfers zijn. In dat geval, als je een wiskundige bewerking uitvoert op de string met cijfers - zal deze bewerking worden uitgevoerd alsof we daadwerkelijk getallen hebben, en niet strings:
<?php
echo '1' + '2'; // geeft 3 weer
?>
In dit geval ziet PHP dat we proberen een ongeldige operatie voor strings, maar een geldige voor getallen, uit te voeren. Het ziet ook dat onze strings feitelijk getallen tussen aanhalingstekens zijn. Daarom voert PHP automatisch een conversie uit van deze strings naar getallen en voert de corresponderende wiskundige bewerking op ze uit.
Op een vergelijkbare manier zal de optelling van een string met cijfers en een gewoon getal plaatsvinden:
<?php
echo '1' + 2; // geeft 3 weer
?>
Hierbij maakt het niet uit in welke volgorde de optelling wordt uitgevoerd:
<?php
echo 1 + '2'; // geeft 3 weer
?>
Alles wat gezegd is, zal op dezelfde manier werken voor variabelen:
<?php
$a = '1';
$b = '2';
echo $a + $b; // geeft 3 weer
?>
Zonder de code uit te voeren, bepaal wat er op het scherm wordt weergegeven:
<?php
$a = '1';
$b = '2';
echo $a + $b + '3';
?>