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