Conversion automatique de types en PHP
Comme vous le savez déjà, les chaînes de caractères en PHP doivent être placées entre guillemets. Il peut arriver que tous les caractères d'une chaîne soient des chiffres. Dans ce cas, si une opération mathématique est effectuée sur la chaîne contenant des chiffres - cette opération sera effectuée comme si nous avions réellement des nombres, et non des chaînes :
<?php
echo '1' + '2'; // affichera 3
?>
Dans ce cas, PHP voit que nous essayons d'effectuer une opération non autorisée pour les chaînes, mais autorisée pour les nombres. Il voit également qu'en réalité nos chaînes sont des nombres entre guillemets. Par conséquent, PHP effectue automatiquement la conversion de ces chaînes en nombres et exécute l'opération mathématique correspondante sur eux.
L'addition d'une chaîne contenant des chiffres et d'un nombre ordinaire se produira de manière similaire :
<?php
echo '1' + 2; // affichera 3
?>
Cela ne fera aucune différence, dans quel ordre effectuer l'addition :
<?php
echo 1 + '2'; // affichera 3
?>
Tout ce qui a été dit fonctionnera de manière similaire pour les variables :
<?php
$a = '1';
$b = '2';
echo $a + $b; // affichera 3
?>
Sans exécuter le code, déterminez ce qui sera affiché à l'écran :
<?php
$a = '1';
$b = '2';
echo $a + $b + '3';
?>