Portée des variables dans php 5+

oopin Messages postés 26 Statut Membre -  
ThEBiShOp Messages postés 9307 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,

J'ai lu quelques articles à ce sujet :
    {
      $x = 1;
      // seul x est accessible à cet endroit
      {
        // x est accessible à cet endroit,

        // y n'est pas accessible puisque la 

        // variable n'est pas encore déclarée
        $y = 2;
        // x et y sont accessibles
      }
      // y n'est pas accessible,

      // x est accessible à cet endroit
    }

et lorsque je tape :
<?php
	if ( true )
		$i = 1;

	echo $i;
?>
ça m'affiche 1, étrange.

En fait je me demandais si c'était du à une configuration de mon serveur (easyphp 2.0) ou si c'était normal :/
Configuration: Windows XP
Firefox 2.0.0.16

3 réponses

  1. absurdsystem Messages postés 118 Statut Membre 51
     
    Slt,

    moi je trouve ça normal que ça affiche 1 c'est meme normal ^^
    0
  2. oopin Messages postés 26 Statut Membre 1
     
    Sauf que dans les bases de l'algorithme, en théorie une variable a une durée de vie limitée au bloc dans lequel elle est déclarée.
    0
  3. ThEBiShOp Messages postés 9307 Date d'inscription   Statut Contributeur Dernière intervention   1 606
     
    Que ça soit en php4 ou 5

    if (true)
    {
    $i = 1;
    }
    echo $i;

    ça affichera toujours 1.
    Sinon bonjour ^^
    0