Passage de variables PHP par référence

Les variables sont transmises par défaut aux fonctions par valeur, mais elles peuvent également être transmises par référence en PHP. Ce tutoriel montre comment passer par des références en PHP.

Passage de variables PHP par référence

Le symbole & esperluette sera ajouté au début de l’argument variable pour passer les variables par référence en PHP. Par exemple, fonction(&$a), où l’objectif de la variable globale et de la fonction est de devenir des valeurs globales car elles sont définies à l’aide du même concept de référence.

Chaque fois que la variable globale change, la variable à l’intérieur de la fonction change et vice versa. La syntaxe pour passer par référence est :

function FunctionName(&$Parameter){
//
}

FunctionName est le nom de la fonction et Parameter est une variable qui sera passée par référence. Voici un exemple simple de passage par référence en PHP.

<?php
function Show_Number(&$Demo){
    $Demo++;
}
$Demo=7;
echo "Value of Demo variable before the function call :: ";
echo $Demo;
echo "<br>";
echo "Value of Demo variable after the function call :: ";
Show_Number($Demo);
echo $Demo;
?>

Le code ci-dessus passe la variable Demo par référence dans la fonction Show_Number. Voir la sortie :

Value of Demo variable before the function call :: 7
Value of Demo variable after the function call :: 8

Essayons un autre exemple pour passer par référence avec et sans l’esperluette. Voir exemple :

<?php
// Assigning the new value to some $Demo1 variable and then printing it
echo "PHP pass by reference concept :: ";
echo "<hr>";
function PrintDemo1( &$Demo1 ) {
    $Demo1 = "New Value \n";
    // Print $Demo1 variable
    print( $Demo1 );
    echo "<br>";
}
// Drivers code
$Demo1 = "Old Value \n";
PrintDemo1( $Demo1 );
print( $Demo1 );
echo "<br><br><br>";


echo "PHP pass by reference concept but exempted ampersand symbol :: ";
echo "<hr>";
function PrintDemo2( $Demo2 ) {
    $Demo2 = "New Value \n";
    // Print $Demo2 variable
    print( $Demo2 );
    echo "<br>";
}
// Drivers code
$Demo2 = "Old Value \n";
PrintDemo2( $Demo2 );
print( $Demo2 );
echo "<br>";

?>

Le code ci-dessus crée deux fonctions qui sont utilisées pour modifier les valeurs des variables. Lorsque la variable est passée par référence avec l’esperluette &, la fonction est appelée simultanément et modifie la valeur de la variable.

De même, lorsqu’il est passé par référence sans l’esperluette &, il devra appeler la fonction pour modifier la valeur de la variable. Voir la sortie :

PHP pass by reference concept ::
New Value
New Value


PHP pass by reference concept but exempted ampersand symbol ::
New Value
Old Value

Article connexe - PHP Variable

  • Comment passer les variables à la page suivante en PHP
  • Déclarer une variable globale en PHP