Maison >développement back-end >Problème PHP >Qu'est-ce que passer des paramètres par référence ? Comment utiliser le passage de paramètres par référence ? Affectation de paramètres de référence ? (avec code)

Qu'est-ce que passer des paramètres par référence ? Comment utiliser le passage de paramètres par référence ? Affectation de paramètres de référence ? (avec code)

慕斯
慕斯original
2021-06-04 11:13:404023parcourir

L'article précédent vous a présenté "Que sont les variables statiques ? Quelles sont ses caractéristiques ? Où est la portée ? (Avec exemples) ", cet article continuera à vous présenter qu'est-ce que passer des paramètres par référence ? Comment utiliser le passage de paramètres par référence ? Affectation de paramètres de référence ? (Code ci-joint), jetons un coup d'oeil

Qu'est-ce que passer des paramètres par référence ? Comment utiliser le passage de paramètres par référence ? Affectation de paramètres de référence ? (avec code)

Qu'est-ce que passer des paramètres par référence :

  • Dans la conception Lors de la définition des paramètres de fonction, si vous ajoutez un symbole avant la variable du paramètre formel, cela signifie que la valeur réelle du paramètre doit être transmise par référence (affectation de référence de variable) pour transmettre la valeur réelle du paramètre au paramètre formel

  • Si le paramètre est passé par référence, alors la valeur du paramètre de référence à l'intérieur de la fonction change, et la valeur de la variable correspondant au paramètre externe réel changera également. L'effet est similaire à celui-là. d'une variable globale, mais ce n'est pas une variable globale.

Plus précisément, prenons des exemples et codons comme exemples

<?php
     /****** 引用传参*/
     //变量引用赋值
     $he = &#39;我喜欢你&#39;;
     $she = &$he;
     echo $he;
     echo &#39;<br/>&#39;;
     echo $she;
     
?>

Analyse du code :

Définissons d'abord une variable initiale ($he) et attribuons la valeur comme, je t'aime ; suivi d'un autre ($elle), veut aussi dire que je t'aime ; à ce moment-là, elle trouve l'adresse de je t'aime et l'attribue à (elle), puis nous sortons (écho) $il. ; puis output ( echo) $she; Nous constaterons que les deux résultats de sortie sont : Je t'aime bien, le code est le suivant :

Quest-ce que passer des paramètres par référence ? Comment utiliser le passage de paramètres par référence ? Affectation de paramètres de référence ? (avec code)

Quand nous essayons de changer le valeur de elle, à ce moment $ La valeur attribuée à elle est, Je ne t'aime pas ; lorsque nous exécutons à nouveau cette valeur, nous constaterons que les résultats affichés sont : Je ne t'aime pas, le code est le suivant ; :

Quest-ce que passer des paramètres par référence ? Comment utiliser le passage de paramètres par référence ? Affectation de paramètres de référence ? (avec code)

D'après l'exemple ci-dessus, on peut savoir que la référence de la variable est en fait $he trouvant l'adresse "Je t'aime bien" et l'attribuant à $she, ce qui signifie que les deux ($he et $she) passent un L'adresse a trouvé une valeur. Une fois que cette valeur change, les valeurs des deux changeront de manière identique, c'est-à-dire qu'elle est un alias de he ; . Grâce à ce qui précède, on comprend encore une fois la référence de la variable ;

Et en passant les paramètres par référence :

<?php
     /****** 引用传参*/
     //变量引用赋值
     $he = &#39;我喜欢你&#39;;
     $she = &$he;
     $she = &#39;我不喜欢你&#39;;
     echo $he;
     echo &#39;<br/>&#39;;
     echo $she;
     echo &#39;<hr>&#39; ;
     $num = 15;
     function demo($no){
       $no +=5;
     }
     demo($num);
     echo $num;
     
?>

Analyse du code :

D'abord, on définit une variable ($num); Ensuite, on définit une fonction (fonction démo) ; puis on passe une variable ($no) dans la démo. démo ($num), nous produisons (echo) num, et le num à ce moment se verra attribuer une valeur, puis effectuera l'opération suivante, puis lorsque nous sortirons (num) en externe, nous constaterons que le résultat. du code en cours d'exécution à ce moment est toujours 15 (le résultat en cours d'exécution est comme indiqué ci-dessous) ; il n'y a aucun changement ; lorsque nous ajoutons avant la démo ($no) un caractère d'adresse (&), à ce moment le résultat de l'opération sera affichage 20 (le résultat de l'opération est le suivant selon ce qui précède, dans des circonstances normales, notre variable de paramètre réelle démo ($num) sera affectée au paramètre formel ($no mais l'affectation des paramètres se fait par) ; référence (&). D'après ce qui précède, on peut voir que les deux sont équivalents à $no=&$num; tout changement dans sa valeur affectera le résultat final.

Quest-ce que passer des paramètres par référence ? Comment utiliser le passage de paramètres par référence ? Affectation de paramètres de référence ? (avec code)

Quest-ce que passer des paramètres par référence ? Comment utiliser le passage de paramètres par référence ? Affectation de paramètres de référence ? (avec code)

Apprentissage recommandé : "

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