Maison > Article > développement back-end > Comment passer une référence en php
En PHP, il existe deux manières de passer des paramètres : le passage par valeur et le passage par référence. Le passage par valeur est la méthode par défaut, ce qui signifie que les modifications apportées aux paramètres au sein d'une fonction n'affectent pas les variables en dehors de la fonction. Le passage par référence transmettra l'adresse de la variable à la fonction, de sorte que les modifications des paramètres affecteront les variables de la fonction appelante.
En PHP, utilisez le symbole & pour représenter les références de passage. Voici un exemple de code pour illustrer l'utilisation du passage par référence :
function addOne(&$num) { $num++; } $num = 10; addOne($num); echo $num; // 输出 11
Dans le code ci-dessus, la fonction addOne
utilise le &
symbole pour référence Son paramètre est $num
, c'est-à-dire que toute modification de $num
affectera la variable appelant la fonction. Dans la fonction, nous avons ajouté 1 à $num
Après avoir appelé la fonction, la valeur de la variable d'origine $num
a également été modifiée. addOne
使用了 &
符号来引用其参数 $num
,也就是说,对 $num
的任何变化都会影响到调用该函数的变量。在函数中,我们将 $num
加上了 1,调用函数后,原始的变量 $num
的值也被修改了。
再看一下下面的代码:
function swap(&$a, &$b) { $tmp = $a; $a = $b; $b = $tmp; } $a = 1; $b = 2; swap($a, $b); echo $a; // 输出 2 echo $b; // 输出 1
这个例子展示了使用传递引用来完成交换两个变量的值。函数 swap
接收两个参数 $a
和 $b
并且都是按引用传递。在函数内部,我们将 $a
的值保存在 $tmp
中,然后将 $a
的值设置为 $b
,将 $b
的值设置为 $tmp
。调用 swap
函数后,原始的变量 $a
和 $b
的值被交换了。
除了显式地声明参数时使用 & 符号,还可以用 &$var
的方式返回函数的结果:
function &getRef() { $num = 10; return $num; } $numRef = &getRef(); $numRef = 20; echo getRef(); // 输出 20
这个例子展示了如何返回变量的引用。函数 getRef
返回一个 $num
变量的引用,可以看到,在调用 getRef
函数后,我们将引用赋给了 $numRef
变量,并且修改了 $numRef
的值。这样会导致原始的 $num
rrreee
Cet exemple montre l'utilisation de références de passage pour compléter l'échange des valeursde deux variables. La fonctionswap
reçoit deux paramètres $a
et $b
et les deux sont passés par référence. À l'intérieur de la fonction, nous enregistrons la valeur de $a
dans $tmp
, puis définissons la valeur de $a
sur $b , définissez la valeur de <code>$b
sur $tmp
. Après avoir appelé la fonction swap
, les valeurs des variables d'origine $a
et $b
sont échangées. #🎜🎜##🎜🎜#En plus d'utiliser le symbole & lors de la déclaration explicite de paramètres, vous pouvez également utiliser &$var
pour renvoyer le résultat d'une fonction : #🎜🎜#rrreee#🎜🎜 #Cet exemple montre comment renvoyer une référence à une variable. La fonction getRef
renvoie une référence à la variable $num
. Vous pouvez voir qu'après avoir appelé la fonction getRef
, nous attribuons la référence à $numRef
est modifiée. Cela entraînera également la modification de la valeur de la variable $num
d'origine. #🎜🎜##🎜🎜#Il convient de noter qu'il faut être prudent lors de l'utilisation du transfert de référence, car la valeur de la variable peut être modifiée par un autre code, affectant ainsi la lisibilité et la maintenabilité du programme. Par conséquent, il est recommandé d’utiliser le passage par référence uniquement lorsque cela est nécessaire. #🎜🎜#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!