Leçon N° 02 : Les Variables
Tableau récapitulatif sur le casting **
Notes de page
Source: lesson_02_casting_1.phpRé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",01,'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&darr;</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",013.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 :
  1. On ne peut convertir un objet en double (float) ni en texte
Résultat du casting nouvelleValeur=(type)ancienneValeur
Type:arraybooleanfloatintegerstring
$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 1Erreur

Tous droits réservés. 2005-2008