Table des matières

Fonctions

Portée des variables

<sxh php;>

<?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();
?>

</sxh>

Variable "Static"

<sxh php;> 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;
}

</sxh>

Transmettre une variable à une fonction

<sxh php;>

<?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);
?>

</sxh>