Le logo de PHP 5  PHP 5 Cours et exercices  2e Edition La couverture du livre PHP 5

Jean ENGELS       Editions Eyrolles

Chapitre 2: Variables, constantes et types

Exercice 1

Parmi les variables suivantes, lesquelles ont un nom valide : mavar, $mavar, $var5, $_mavar, $_5var, $__élément1, $hotel4* ?

Les noms $mavar, $var5, $_mavar, $_5var, $__élément1 respectent les conventions. Les autres ne sont pas valides : mavar ne commence pas par le caractère $ et $hotel4* se termine par le caractère *

Exercice 2

Donner les valeurs de $x, $y, $z à la fin du script suivant :
$x="PostgreSQL"; $y="MySQL"; $z=&$x; $x="PHP 5"; $y=&$x;
Les variables $x, $y et $z valent toutes "PHP 5"

Exercice 3

Lire les valeurs des variables du script de l’exercice 2 à l’aide du tableau $GLOBALS.
<?php $x="PostgreSQL"; $y="MySQL"; $z=&$x; $x="PHP 5"; $y=&$x; echo $GLOBALS['x'], "
"; echo $GLOBALS['y'], "
"; echo $GLOBALS['z'], "
"; ?>

Les variables valent toutes "PHP 5"

Exercice 4

Déterminer le numéro de version de PHP, le nom du système d'exploitation de votre serveur ainsi que la langue du navigateur du poste client.
<?php echo "Version de PHP : ",PHP_VERSION, "
"; echo "Système d'exploitation du serveur : ",PHP_OS, "
"; echo "Langue du navigateur client : ",$_SERVER["HTTP_ACCEPT_LANGUAGE"], "
"; ?>

J’obtiens le résultat suivant (sur mon poste) :
Version de PHP : 5.3.0
Système d'exploitation du serveur : WINNT
Langue du navigateur client : fr,it;q=0.8,fr-fr;q=0.6,en-us;q=0.4,en;q=0.2

Exercice 5

Donner la valeur de chacune des variables pendant et à la fin du script suivant et vérifier l’évolution du type de ces variables :
$x="PHP5"; $a[]=&$x; $y=" 5 eme version de PHP"; $z=$y*10; $x.=$y; $y*=$z; $a[0]="MySQL";
Solution : Script affichant les valeurs et les types

<?php $x="PHP5"; echo "\$x vaut : $x et est de type ", gettype($x),"
"; $a[]=&$x; echo "\$a[0] vaut : $a[0] et est de type ", gettype($a),"
"; $y=" 5 eme version de PHP"; echo "\$y vaut : $y et est de type ", gettype($y),"
"; $z=$y*10; echo "\$z vaut : $z et est de type ", gettype($z),"
"; $x.=$y; echo "\$x vaut : $x et est de type ", gettype($x),"
"; $y*=$z; echo "\$y vaut : $y et est de type ", gettype($y),"
"; $a[0]="MySQL"; echo "\$a[0] vaut : {$a[0]} et est de type ", gettype($a),"
"; ?>
Résultat affiché :

$x vaut : PHP5 et est de type string
$a[0] vaut : PHP5 et est de type array
$y vaut : 5 eme version de PHP et est de type string
$z vaut : 50 et est de type integer
$x vaut : PHP5 5 eme version de PHP et est de type string
$y vaut : 250 et est de type integer
$a[0] vaut : MySQL et est de type array

Exercice 6

Donner la valeur des variables $x, $y, $z à la fin du script :

$x="7 personnes";
$y=(integer) $x;
$x="9E3";
$z=(double) $x;
Solution :
$x vaut : 9E3  (soit 9000 bien sur)
$y vaut : 7
$z vaut : 9000

Exercice 7

Donner la valeur booléenne des variables $a, $b, $c, $d, $e et $f :

$a="0";
$b="TRUE";
$c=FALSE;
$d=($a OR $b);
$e=($a AND $c);
$f=($a XOR $b);
Solution : même dans sa dernière version, PHP continue à afficher 1 pour TRUE et rien (une chaîne vide !) pour FALSE. Pour réaliser l’évaluation booléenne des variables et afficher le résultat en clair (avec les mots TRUE ou FALSE) nous pouvons écrire le code suivant :
<?php
function bool($val)
{
if($val) echo "TRUE 
"; else echo "FALSE
"; } //******************** $a="0"; echo "\$a vaut : ",bool($a); $b="TRUE"; echo "\$b vaut : ",bool($b); $c=FALSE; echo "\$c vaut : ",bool($c); $d=($a OR $b); echo "\$d vaut : ",bool($d); $e=($a AND $c); echo "\$e vaut : ",bool($e); $f=($a XOR $b); echo "\$f vaut : ",bool($f); ?>
Nous obtenons l’affichage ci-dessous :
$a vaut : FALSE
$b vaut : TRUE
$c vaut : FALSE
$d vaut : TRUE
$e vaut : FALSE
$f vaut : TRUE