Passage d'arguments par référence
Bonjour,
Quelqu'un pourrait m'expliquer à quoi sert de passer par reference un argument à l'intérieur d'une fonction ?
Je débute en php et ai lu tous les tutoriels sur ce sujet sans ne rien y comprendre (Je débute en php depuis quelques jours seulement....).
Dans l'exemple ci-dessous (le même sur quasiment tous les sites) il est "expliqué" le passage d'argument par reference :
Code:
1 2 3 4 5 6 7 8 9 10
| <?php
function add_some_extra(&$string)
{
$string .= ', et un peu plus.';
}
$str = 'Ceci est une chaîne';
add_some_extra($str);
echo $str;
?> |
A quoi bon faire cela puice que l'exemple ci-dessous affiche exactement le même résultat ?
Code:
1 2 3 4 5 6 7 8 9
| <?php function afficher($arg)
{
print ("$arg, et un peu plus");
}
$sol1 = "Ceci est une chaine";
$sol2 = "Ceci est une autre chaine";
afficher ($sol1);
?> |
Lorsque j'utilise des valeurs numériques, j'ai bien compris que l'argument passé par reference est censé garder en mémoire le résultat des itérations précédentes mais dans ce cas pourquoi :
Code:
1 2 3 4 5 6 7 8 9 10 11 12
| <?php
function calcul(&$resultat, $a, $b)
{
$resultat = $a + $b;
print ("$resultat <br>");
}
$resultat = 0;
calcul ($resultat, 4,3); //Affiche 7 ok
calcul ($resultat, 4,3); //Affiche toujours 7 (je voudrais 14).
?> |
Merci de ben vouloir m'expliquer car la.... :oops: