Source: lesson_02_casting_1.php | Résultat |
<?php echo '<h2>Tableau récapitulatif des différentes <br/>valeurs des vaiables après un "casting"</h2>'; echo 'Le tableau se lit de la façon suivante : <br/> <ul><li>nouvelle variable=(integer)3.14 renvoie 3</li> <li>nouvelle variable=(boolean)3.14 renvoie 1</li></ul>'; echo "Notes : <ol><li>On ne peut convertir un objet en double (float) ni en texte </li></ol>"; $nb_lignes = 13 ; $nb_colonnes = 5; /*on crée une classe juste pour avoir un objet $monAddition */ class addition_class { function addition($a,$b) { global $somme; $somme = $a + $b; return $somme ; } } $myObj = new addition_class ; $myObj -> addition(5,10) ; //liste des mêmes valeurs formattées //pour affichage en haut du tableau $value_array_h = array("array(1)","false", "true",0, 1,'3.14',132,'"3.14"', '"1"','"texte"', '"5+7"','"6 abricots"','$myObj');
//liste des fonctions $type_array = array("array","boolean", "float","integer","string","object"); //on crée le tableau echo '<table class=exercises><tr> <th colspan=7>Résultat du casting <b>nouvelleValeur=(type)ancienneValeur</b></th> </tr><tr><th class=params>Type:</th>'; for ($i = 0; $i < $nb_colonnes; $i++) { echo "<th class=params rowspan=2>"; echo $type_array[$i]; echo "</th>"; } echo '</tr><tr> <th class=inputs>$var↓</th></tr>'; for ($j = 0; $j < $nb_lignes; $j++) { echo "<tr><td class=inputs> $value_array_h[$j]</td>"; for ($i = 0; $i < $nb_colonnes; $i++) { if ($i==($nb_colonnes-1) and $j==($nb_lignes-1)) { echo "<td class=exercises><font color=red>Erreur</font></td>"; } else { //liste des valeurs appliquées aux fonctions $value_array = array('array(1)', "false","true",0, 1, 3.14, 132, "3.14","1", "'"."texte"."'","'"."5+7"."'", "'"."6 abricots"."'",'$myObj'); $var = $value_array[$j]; $my_type = $type_array[$i] ; //echo '$var'.$var.'$my_type'.$my_type.'<br/>'; $ligne_var = "($my_type)$var" ; //on execute la fonction spécifiée //dans $line_var eval("\$ligne_var_ = $ligne_var;" );
echo "<td class=outputs> $ligne_var_</td>"; } } echo "</tr>"; } echo "</table>"; ?> </body> </html>
| Tableau récapitulatif des
différentes valeurs des vaiables
après un "casting"Le tableau se lit de la façon suivante :
- nouvelle variable=(integer)3.14 renvoie 3
- nouvelle variable=(boolean)3.14 renvoie 1
Notes :
- On ne peut convertir un objet en
double (float) ni en texte
Résultat du casting
nouvelleValeur=(type)ancienneValeur |
Type: | array | boolean | float | integer | string |
---|
$var↓ |
array(1) |
Array |
1 |
1 |
1 |
Array |
false |
Array |
|
0 |
0 |
|
true |
Array |
1 |
1 |
1 |
1 |
0 |
Array |
|
0 |
0 |
0 |
1 |
Array |
1 |
1 |
1 |
1 |
3.14 |
Array |
1 |
3.14 |
3 |
3.14 |
132 |
Array |
1 |
132 |
132 |
132 |
"3.14" |
Array |
1 |
3.14 |
3 |
3.14 |
"1" |
Array |
1 |
1 |
1 |
1 |
"texte" |
Array |
1 |
0 |
0 |
texte |
"5+7" |
Array |
1 |
5 |
5 |
5+7 |
"6 abricots" |
Array |
1 |
6 |
6 |
6 abricots |
$myObj |
Array |
1 |
1 |
1 | Erreur |
|