<?php echo '<H2>Tableau récapitulatif des différentes <br>valeurs des vaiables après un "settype"</h2>'; echo 'Le tableau se lit de la façon suivante : <br> <ul><li>settype(3.14,"integer") renvoie 3</li> <li>settype(3.14,"boolean") renvoie 1</li></ul>'; echo "Notes : <ol><li>On ne peut convertir un tableau en texte</li> <li>On ne peut pas convertir un objet en entier</li> <li>On ne peut pas convertir un objet en texte</li></ol>"; $nb_lignes = 17 ; $nb_colonnes = 6; /*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 fonctions $type_array = array('array','boolean','float', 'integer','null','string','object'); //liste des mêmes valeurs formattées //pour affichage en haut du tableau $value_array_h = array('array(1)','true','false', 1,0,'3.14','3+4','null', '"3.14"','"3,14"','"13-4"','"6*2"', '"4coq+<br>1x"','"1"','""','" "', '$myObj'); echo '<table class=exercises><tr> <th colspan=7>Résultat de la fonction <b>settype($var,type)</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),true,false, 1,0,3.14,3+4, null, "3.14", "3,14","13-4","6*2","4coq+1x", "1", ""," ",$myObj); $var = $type_array[$i]; $ligne_var = settype($value_array[$j],$var); echo "<td class=outputs>$value_array[$j]</td>"; } } echo "</tr>"; } echo "</table>"; ?> <table><tr><th colspan=2>Particularités :</th></tr> <tr><td class=params>lignes 3+3 et 13-4</td> <td class=params>L'adition est la seule opération qui fonctionne dans ce cas </td></tr><tr> <td class=params>Lignes true, false, 1,0</td><td class=params> On peut avec cette fonction remplacer 'true' par 1 et false par 0</td></tr><tr> <td class=params>Lignes true et false</td><td class=params> Après conversion en booléen 'true' devient 1 mais false ne devient pas 0</td></tr> </table> </body> </html>
| Tableau récapitulatif des
différentes valeurs des vaiables
après un "settype"Le tableau se lit de la façon suivante :
- settype(3.14,"integer") renvoie 3
- settype(3.14,"boolean") renvoie 1
Notes :
- On ne peut convertir un tableau en texte
- On ne peut pas convertir un objet en entier
- On ne peut pas convertir un objet en texte
Résultat de la fonction settype($var,type) |
Type: | array | boolean | float | integer | null | string |
---|
$var↓ |
array(1) | Array | 1 | 1 | 1 | | Array |
true | Array | 1 | 1 | 1 | | 1 |
false | Array | | 0 | 0 | | |
1 | Array | 1 | 1 | 1 | | 1 |
0 | Array | | 0 | 0 | | 0 |
3.14 | Array | 1 | 3.14 | 3 | | 3.14 |
3+4 | Array | 1 | 7 | 7 | | 7 |
null | Array | | 0 | 0 | | |
"3.14" | Array | 1 | 3.14 | 3 | | 3.14 |
"3,14" | Array | 1 | 3 | 3 | | 3,14 |
"13-4" | Array | 1 | 13 | 13 | | 13-4 |
"6*2" | Array | 1 | 6 | 6 | | 6*2 |
"4coq+ 1x" | Array | 1 | 4 | 4 | | 4coq+1x |
"1" | Array | 1 | 1 | 1 | | 1 |
"" | Array | | 0 | 0 | | |
" " | Array | 1 | 0 | 0 | | |
$myObj | Array | 1 | 1 | 1 | | Erreur |
Particularités : |
lignes 3+3 et 13-4 |
L'adition est la seule opération qui fonctionne
dans ce cas |
Lignes true, false, 1,0 |
On peut avec cette fonction remplacer 'true'
par 1 et false par 0 |
Lignes true et false |
Après conversion en booléen 'true' devient 1
mais false ne devient pas 0 |
|