Conversione automatica dei tipi in PHP
Come già sapete, le stringhe in PHP vanno racchiuse tra virgolette. Può succedere che tutti i caratteri di una stringa siano cifre. In questo caso, se su una stringa con cifre viene eseguita un'operazione matematica - questa operazione verrà eseguita come se avessimo effettivamente dei numeri, e non delle stringhe:
<?php
echo '1' + '2'; // visualizzerà 3
?>
In questo caso PHP vede che stiamo tentando di eseguire un'operazione non consentita per le stringhe, ma consentita per i numeri. Vede anche che, di fatto, le nostre stringhe sono numeri tra virgolette. Pertanto PHP esegue automaticamente la conversione di queste stringhe in numeri ed esegue la corrispondente operazione matematica su di essi.
Allo stesso modo avverrà la somma di una stringa con cifre e un numero ordinario:
<?php
echo '1' + 2; // visualizzerà 3
?>
Inoltre, non avrà importanza l'ordine in cui si esegue la somma:
<?php
echo 1 + '2'; // visualizzerà 3
?>
Tutto quanto detto funzionerà allo stesso modo anche per le variabili:
<?php
$a = '1';
$b = '2';
echo $a + $b; // visualizzerà 3
?>
Senza eseguire il codice, determinate cosa verrà visualizzato sullo schermo:
<?php
$a = '1';
$b = '2';
echo $a + $b + '3';
?>