Maison  >  Article  >  développement back-end  >  Assignation de variables PHP : la différence entre le passage par valeur et le passage par référence

Assignation de variables PHP : la différence entre le passage par valeur et le passage par référence

怪我咯
怪我咯original
2017-05-04 11:39:483795parcourir

La variable fait référence à la quantité que la valeur peut changer pendant l'exécution du programme. Elle est utilisée pour enregistrer une valeur afin que nous puissions l'appeler facilement. Cependant, il existe deux façons d'attribuer des valeurs aux variables en PHP. : transfert de valeur et transfert de référence. Ceci Les deux méthodes d'attribution de valeurs aux variables sont différentes. Dans ce chapitre, nous vous amènerons à comprendre : La différence entre le transfert de valeur et le transfert de référence

Tout d'abord, jetons un coup d'œil au transfert de valeur :

La méthode de transmission de valeur est la méthode la plus couramment utilisée et la méthode par défaut pour attribuer des valeurs aux variables. Utilisons un exemple pour illustrer :

<?
header("content-type:text/html;charset=utf-8");     //设置编码
echo "值传递的方式";
echo "<hr/>";
$var1= "PHP";
$var2=$var1;
echo $var1."<hr/>";
echo $var2;
?>
Le résultat de l'exécution du code :

Assignation de variables PHP : la différence entre le passage par valeur et le passage par référence

À partir de l'exemple ci-dessus, vous pouvez voir que le transfert de valeur est le variable actuelle. Passer une valeur à une autre variable équivaut à une opération de copie. Les deux variables sont indépendantes l'une de l'autre. Si l'on change la valeur d'une variable, l'autre valeur ne changera pas.

<?
header("content-type:text/html;charset=utf-8");     //设置编码
echo "值传递的方式";
echo "<hr/>";
$var1= "PHP";
$var2=$var1;
echo $var1."<hr/>";
echo $var2."<hr/>";

echo "<p>改变其中一个变量的值,另一个不会有变化</p>";
$var2="HTML";

echo $var1."<hr/>";
echo $var2."<hr/>";
?>
Résultats de l'exécution du code :

Assignation de variables PHP : la différence entre le passage par valeur et le passage par référence

Jetons un coup d'œil au transfert de référence

L'affectation de référence utilise "&" pour indiquer une référence. Utilisation de l'affectation de référence Si vous modifiez la valeur d'une variable, l'autre changera également.

Exemple

<?
header("content-type:text/html;charset=utf-8");     //设置编码
echo "引用传递的方式";
echo "<hr/>";
$var1= "PHP中文网";
$var2=&$var1;
echo $var1."<br/>";
echo $var2."<br/>";
?>
Résultat de l'exécution du code :

Assignation de variables PHP : la différence entre le passage par valeur et le passage par référence

À ce stade, les deux variables n'ont pas changé, mais si nous changeons Qu'en est-il de l'une des valeurs ?

<?
header("content-type:text/html;charset=utf-8");     //设置编码
echo "引用传递的方式";
echo "<hr/>";
$var1= "PHP中文网";
$var2=&$var1;
echo $var1."<br/>";
echo $var2."<br/>";

echo "<p>使用引用传递的方式改变其中一个变量的值</p>";
$var2="HTML";

echo $var1."<br/>";
echo $var2."<br/>";
?>
Résultats de l'exécution du code :

Assignation de variables PHP : la différence entre le passage par valeur et le passage par référence

Utilisez la méthode de passage de référence pour attribuer des valeurs aux variables. Si la valeur d'une variable est modifiée, la d'autres variables entraîneront également des changements.

Résumé

À travers certains des exemples ci-dessus, nous pouvons conclure que

La différence entre le passage de valeur et le passage de référence est : Le passage de valeur copie le contenu de l'original variable. Utilisez ensuite un nouvel espace mémoire pour la sauvegarder. Les deux variables sont indépendantes l'une de l'autre, et passer par référence équivaut à donner un alias à la variable actuelle. En fait, les deux variables font référence à la même valeur. Cela équivaut à donner deux noms à une variable

【Recommandations associées】

Recommandations du didacticiel vidéo associées :

Affectation des variables : transfert de valeur et Le différence entre passer par référence

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