Automatisk typekonvertering i PHP
Som du allerede vet, skal strenger i PHP omsluttes av anførselstegn. Det kan hende at alle tegnene i strengen er sifre. I dette tilfellet, hvis en matematisk operasjon utføres på en streng med sifre - vil denne operasjonen bli utført som om vi faktisk har tall, og ikke strenger:
<?php
echo '1' + '2'; // vil skrive ut 3
?>
I dette tilfellet ser PHP at vi prøver å utføre en operasjon som er ugyldig for strenger, men gyldig for tall. Den ser også at våre strenger faktisk er tall inni anførselstegn. Derfor utfører PHP automatisk en konvertering av disse strengene til tall og utfører den tilsvarende matematiske operasjonen på dem.
På samme måte vil addisjon av en streng med sifre og et vanlig tall skje:
<?php
echo '1' + 2; // vil skrive ut 3
?>
Det vil ikke ha noe å si, i hvilken rekkefølge addisjonen utføres:
<?php
echo 1 + '2'; // vil skrive ut 3
?>
Alt som er sagt vil fungere på samme måte også for variabler:
<?php
$a = '1';
$b = '2';
echo $a + $b; // vil skrive ut 3
?>
Uten å kjøre koden, bestem hva som vil skrives ut på skjermen:
<?php
$a = '1';
$b = '2';
echo $a + $b + '3';
?>