Les fonctions
Article écrit par kazhar
Nous avons vu qu'il était possible en PHP d'appeler des fonctions telles que echo().
Il est également possible, de créer des fonctions, qui seront valables pour la page.
Supposons que nous voulions qu'une fonction renvoie le double d'une valeur. Il faut tout d'abord lui donner un nom: double() et décider de combien d'arguments elle a besoin:
Code :
<?php
function double ($n)
{
$resultat = $n * 2;
return $resultat;
}
$a = 2;
$b = double ($a);
echo "le double de $a est $b";
?>
affichera par conséquent sur notre page :
le double de 2 est 4
Attention: Il est interdit de donner le nom d'une fonction déja existante pour définir une de vos fonctions.
étudions maintenant l'exemple suivant:
Code :
<?php
function aff()
{
$i = $i + 1;
echo $i;
}
for ($i = 1; $i <= 5; $i++)
{
echo "[$i]";
aff();
echo "<br>";
}
?>
qui affichera :
[1]1
[2]1
[3]1
[4]1
[5]1
Notre problème, ci-dessus, est que la variable $i contenue dans la fonction est considérée comme ifférente de la variable $i à l'exterieur de la fonction.
Pour pouvoir utiliser la meme variable $i, il faudrait faire:
Code :
<?php
function aff()
{
global $i;
$i = $i + 1;
echo ($i);
}
for ($i = 1; $i <= 5; $i++;)
{
echo "[$i]";
aff();
echo "<br>";
}
?>
qui affichera le résultat espéré, soit :
[1] 2
[3] 4
[5] 6
Source : http://www.phportail.net