Table des matières

Fonctions

Portée des variables

  <?php
  // Les variables inclus dans un autres script peuvent être exploité sans contraintes
  include ('include.php');
  $var_interne = 'test';
  echo $var_externe."\n";
  echo $var_interne."\n";
  
  // En revanche certaines règles s'imposent pour transmettre une variable dans une fonction
  $toto = 5;
  function ma_fonction () {
    // La valeur de toto n'est pas encore transmise, il y aura une erreur
    echo $toto."\n";
    // Ici la valeur toto est transmise
    global $toto;
    // Elle peut désormais s'afficher
    echo $toto."\n";
  }
  // On la fonction qu'on a créée
  ma_fonction();
  ?>

Variable "Static"

Une variable dite static est une variable locale à une fonction mais qui a la particularité de se souvenir de sa valeur.
  <?php
  function ma_fonction () {
    // La valeur ci-dessous sera toujours réinitialiser à un au lancement de la fonction
    //$toto = 1;
    // Si on souhaite conserver la dernière valeur de $toto il faut préfixer la déclaration de variable par "static"
    static $toto = 1;
    echo $toto."\n";
    $toto++;
  }
  ma_fonction();
  $nb_run = 5;
  $i = 1;
  while ($i < $nb_run) {
    ma_fonction();
    $i = $i + 1;
  }

Transmettre une variable à une fonction

  <?php
  $toto = 'Coucou';
  function ma_fonction ($var) {
    // Ci-dessous le echo sera en erreur car $toto inconnu
    //echo $toto."\n";
    // Ci-dessous la variable $toto est transmise via la variable $var
    echo $var."\n";
  }
  // On lance la fonction en transmettant la variable $toto
  ma_fonction(&$toto);
  ?>