<!DOCTYPE html >
<html lang="fr">
<head>
<meta charset="utf-8" />
<meta name="DCTERMS.creator" content="Gérard Lambert" />
<meta name="DCTERMS.subject" content="Types" />
<meta name="DCTERMS.created" content="2015-05-12" />
<title>Exercices (types)</title>
<link rel="icon" type="image/png" href="/images/favicon.png" />
<style type="text/css">
table { width:100%; border-collapse:collapse; }
table tr { background-color: Silver; }
table td { border:1px solid black ; }
</style>
</head>
<body>
<table>
<tr><td>Instruction</td><td>Contenu</td><td>Type</td></tr>
<?php
//Solution à préférer (virgules et apostrophes)
$str = '12';
echo '<tr><td>$str = \'12\'</td><td>', $str, '</td><td>', gettype($str), '</td></tr>';
//Solution souvent utilisée mais pas efficace (concaténation)
$nbr = (int)$str;
echo '<tr><td>$nbr = (int)$str</td><td>' . $nbr . '</td><td>' . gettype($nbr) . '</td></tr>';
//Solution utilisant print (sans intérêt dans ce cas).
//Concaténation obligatoire. La commande print n'a qu'un argument
$nbr += '1';
print '<tr><td>$nbr = (int)$str</td><td>' . $nbr . '</td><td>' . gettype($nbr) . '</td></tr>';
//Solution utilisant les quillemets pour obtenir l'interpétation des variables.
//Les fonction ne peuvent pas être interprétées. Il s'agit d'executer du code.
$nbr = $nbr.'1';
echo "<tr><td>\$nbr = \$nbr.'1'</td><td>$nbr</td><td>", gettype($nbr)," </td></tr>";
$str .= '0';
echo '<tr><td>$str .= \'0\'</td><td>',$str,'</td><td>',gettype($str),'</td></tr>';
$str += 2.0;
echo '<tr><td>$str += 2.0</td><td>',$str,'</td><td>',gettype($str),'</td></tr>';
?>
</table>
</body>
</html>