Maison  >  Article  >  développement back-end  >  Comment passer des paramètres par référence dans la fonction php ?

Comment passer des paramètres par référence dans la fonction php ?

醉折花枝作酒筹
醉折花枝作酒筹original
2021-07-29 14:59:236163parcourir

Dans l'article précédent, nous avons appris à passer des paramètres par valeur lors du passage de paramètres aux fonctions. Si nécessaire, veuillez lire "Comment passer des paramètres par valeur dans les fonctions php ?" 》. Cette fois, nous allons vous présenter la référence en passant des paramètres aux fonctions. Vous pouvez vous y référer si vous en avez besoin.

Regardons d'abord un petit exemple pour nous aider à comprendre la transmission de références.

<?php
  function swap(&$a, &$b){
    echo &#39;函数内,交换前 $a = &#39;.$a.&#39;, $b = &#39;.$b.&#39;<br>&#39;;
    $temp = $a;
    $a = $b;
    $b = $temp;
    echo &#39;函数内,交换后 $a = &#39;.$a.&#39;, $b = &#39;.$b.&#39;<br>&#39;;
  }

  $x = 5;
  $y = 7;
  echo &#39;函数外,交换前 $x = &#39;.$x.&#39;, $y = &#39;.$y.&#39;<br>&#39;;
  swap($x, $y);
  echo &#39;函数外,交换后 $x = &#39;.$x.&#39;, $y = &#39;.$y;
?>

La sortie est

函数外,交换前 $x = 5, $y = 7
函数内,交换前 $a = 5, $b = 7
函数内,交换后 $a = 7, $b = 5
函数外,交换后 $x = 7, $y = 5

Dans cet exemple, on peut voir qu'à l'intérieur de la fonction, les valeurs sont bien échangées, et en dehors de la fonction, les valeurs sont également échangées.

C'est la différence entre passer par référence et passer des paramètres par valeur dans l'article précédent.

Le passage de référence de paramètre consiste à copier l'adresse mémoire du paramètre, puis à la transmettre au paramètre formel de la fonction. Les paramètres et les paramètres formels pointent vers la même adresse mémoire. Par conséquent, l’opération de la fonction sur les paramètres formels affectera les paramètres extérieurs à la fonction.

Passer par référence, c'est passer l'adresse mémoire du paramètre au paramètre formel de la fonction. Par conséquent, les paramètres et les paramètres formels pointent vers la même adresse mémoire. À ce stade, toutes les opérations au sein de la fonction affecteront les valeurs des paramètres en dehors de la fonction. La méthode de transfert de référence consiste à ajouter un symbole <strong>&</strong>, comme indiqué ci-dessous : <strong>&</strong>符号,如下所示:

function name (&参数1, &参数2, ..., &参数3) {
  ...  
}

同时这个符号也是引用传递按值传递参数rrreee

En même temps, ce symbole est également un transfert de référence et par valeur La différence entre les paramètres transmis.

C'est tout pour passer par référence. Si vous voulez savoir autre chose, vous pouvez cliquer ici. → →Tutoriel vidéo php

🎜

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