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