<?php echo "<h2>Tableau récapitulatif des différents états<br/>que peut prendre une variable en fonction<br/>de son contenu </h2>"; echo 'Le tableau se lit ainsi : <br/><ul><li>is_bool(true) renvoie 1 car "true" est booléen</li> <li>is_set($var) renvoie ici toujours 1 car la variable est toujours chargée </li></ul>'; $nb_lignes = 12 ; $nb_colonnes = 13; /*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) ; /*on crée une variable de type ressource*/ $fichier = 'renard.txt'; $canal=fopen($fichier,'r'); //liste valeurs appliquées aux fonctions $value_array = array(0,0.0, 1, 3.14, "0", "1", ""," ",null,array(1),$myObj, true,$canal); //liste des mêmes valeurs formattées //pour affichage en haut du tableau $value_array_h = array(0, '0.0', 1,'3.14', '"0"','"1"','""','" "','null', 'array(1)','$myObj','true','$canal'); //liste des fonctions $function_array = array('empty($var)','isset($var)', 'is_array($var)', 'is_bool($var)','is_float($var)', 'is_int($var)', 'is_null($var)','is_numeric($var)' , 'is_object($var)','is_resource($var)', 'is_scalar($var)','is_string($var)'); //on crée le tableau echo '<table class=exercises><tr> <th class=exercises align=right>$var= </th>'; for ($i = 0; $i < $nb_colonnes; $i++) { echo "<th class=inputs><small>"; echo $value_array_h[$i]; echo "</small></th>"; } echo "</tr>"; for ($j = 0; $j < $nb_lignes; $j++) { echo "<tr><td class=params> $function_array[$j]</td>"; for ($i=0; $i<$nb_colonnes; $i++) { $var = $value_array[$i]; $ligne_var = $function_array[$j]; //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>"; ?> <ul>Particularités : <li>Chargée avec 0, elle est à la fois vide, entière et numérique</li> <li>Chargée avec "0", elle est à la fois vide, numérique et texte <br />(texte n'est pas incompatible avec numérique)</li> <li>Chargée avec "1" elle est à la fois numérique et texte</li> <li>Chargée avec "" (vide), elle est à la fois vide et texte</li> <li>Du moment qu'elle est chargée, elle est toujours 'set' <br /> sauf si elle est chargée avec 'null'</li> </ul> </body> </html>
| Tableau récapitulatif des
différents états que peut prendre une
variable en fonction de son contenu
Le tableau se lit ainsi :
- is_bool(true) renvoie 1
car "true" est booléen
- is_set($var) renvoie ici toujours 1
car la variable est toujours chargée
$var=
| 0 | 0.0 | 1 | 3.14 | "0" | "1" | "" | " " | null | array(1) | $myObj | true | $canal |
empty($var) |
1 |
1 |
|
|
1 |
|
1 |
|
1 |
|
|
|
|
isset($var) |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
|
1 |
1 |
1 |
1 |
is_array($var) |
|
|
|
|
|
|
|
|
|
1 |
|
|
|
is_bool($var) |
|
|
|
|
|
|
|
|
|
|
|
1 |
|
is_float($var) |
|
1 |
|
1 |
|
|
|
|
|
|
|
|
|
is_int($var) |
1 |
|
1 |
|
|
|
|
|
|
|
|
|
|
is_null($var) |
|
|
|
|
|
|
|
|
1 |
|
|
|
|
is_numeric($var) |
1 |
1 |
1 |
1 |
1 |
1 |
|
|
|
|
|
|
|
is_object($var) |
|
|
|
|
|
|
|
|
|
|
1 |
|
|
is_resource($var) |
|
|
|
|
|
|
|
|
|
|
|
|
1 |
is_scalar($var) |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
|
|
|
1 |
|
is_string($var) |
|
|
|
|
1 |
1 |
1 |
1 |
|
|
|
|
|
Particularités :
- Chargée avec 0, elle est à la fois
vide, entière et numérique
- Chargée avec "0", elle est
à la fois vide, numérique
et texte
(texte n'est pas
incompatible avec numérique)
- Chargée avec "1" elle est à la fois
numérique et texte
- Chargée avec "" (vide), elle est
à la fois vide et texte
- Du moment qu'elle est chargée, elle
est toujours 'set'
sauf si elle est
chargée avec 'null'
|