Maison >développement back-end >tutoriel php >Introduction au passage de paramètres par référence en PHP : Comment utiliser le symbole &

Introduction au passage de paramètres par référence en PHP : Comment utiliser le symbole &

WBOY
WBOYoriginal
2023-06-27 13:13:111533parcourir

PHP est un langage de programmation populaire qui prend en charge deux manières de transmettre des paramètres : le passage par valeur et le passage par référence. Le passage par valeur copie la valeur d'une variable dans une autre variable, tandis que le passage par référence copie l'adresse mémoire d'une variable dans une autre variable. Cet article présentera l'utilisation des paramètres de référence PHP, notamment l'utilisation du symbole &.

La base du passage de paramètres par référence

En PHP, on peut changer ou renvoyer la valeur d'une variable en la passant à une fonction. Ce processus peut être effectué en passant par valeur ou en passant par référence. En passage par valeur, la fonction copie la valeur de la variable, tandis qu'en passage par référence, la fonction utilise la variable d'origine.

La syntaxe de base pour passer des paramètres par référence est la suivante :

fonction &exemple(&$paramètre){

// code to modify $parameter
return $parameter;

}

Dans cette fonction, & signifie passer par référence, et $paramètre est le paramètre de la fonction. Cette fonction renverra une référence à la variable $parameter. Comme vous pouvez le voir, dans la définition de la fonction, il y a un symbole & avant le nom du paramètre, ce qui signifie que ce paramètre est un paramètre de référence.

Exemples d'utilisation du symbole &

Regardons quelques exemples pour illustrer comment utiliser le symbole &.

// 值传递的例子
function foo($var){
    $var = 2;
} 

$a = 1;
foo($a);
echo $a; // 输出:1

// 引用传递的例子
function bar(&$var){
    $var = 2;
} 

$a = 1;
bar($a);
echo $a; // 输出:2

Dans cet exemple, la fonction foo() est une fonction de passage par valeur, tandis que la fonction bar() est une fonction de passage par référence. Lorsque foo($a) est exécuté, la valeur de $a est copiée dans $var, donc la valeur de $var est 1. À l'intérieur de la fonction, la valeur de $var est définie sur 2, mais comme $var est une variable locale, sa modification n'affectera pas la valeur d'origine de $a.

Lorsque bar($a) est exécuté, l'adresse mémoire de $a est copiée dans $var. Par conséquent, à l’intérieur de la fonction, la variable $var fait référence à l’adresse mémoire de $a, plutôt que de copier la valeur de $a. Lorsque la valeur de $var est définie sur 2 dans la fonction, la valeur de la variable $a est également modifiée en 2.

Comme vous pouvez le voir, en utilisant le symbole &, nous pouvons transmettre des variables comme pointeurs vers des fonctions. Cela permet à la fonction de modifier la valeur de la variable d'origine, transmettant ainsi un état mutable au programme.

Il convient de noter que le symbole & ne peut être appliqué qu'aux variables, pas aux expressions. Par exemple, le code suivant aura une erreur de syntaxe :

$var = 1;
// 以下代码将会出现语法错误
function foo(1 &$var){ 
    $var = 2;
}

Résumé

Cet article a introduit les bases du passage de paramètres par référence en PHP, notamment l'utilisation du symbole &. Passer des paramètres par référence vous permet de modifier la valeur d'une variable dans une fonction, ce qui est utile lorsque vous devez passer un état mutable dans un programme. Il convient de noter que le symbole & ne peut être appliqué qu'aux variables, pas aux expressions. J'espère que cet article pourra être utile aux lecteurs.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn