Maison >développement back-end >Problème PHP >La différence entre la référence php et la copie

La différence entre la référence php et la copie

王林
王林original
2019-09-23 13:14:303360parcourir

La différence entre la référence php et la copie

Pour la transmission de valeurs et la transmission de références, les explications dans les livres sont relativement compliquées, mais elles apparaissent toujours dans les interviews PHP Ci-dessous, j'utiliserai un exemple concret pour vous aider à comprendre la différence entre. eux.

Étape 1

Supposons que nous allions dans un hôtel pour réserver une chambre. Nous comparons le numéro de la maison de l'hôtel à un nom de variable, et nous donnons le numéro au nom de la variable. de personnes dans la salle. Le processus d'affectation

<?php
$k1=2;//$k1号房间住了2个人
$k2=$k1;//恰巧今天$k1号房间维修,把$k1号房间的人放到$k2房间里面
$k1=10;//假设$k1维修好了,又住进10个人,那么这就是值传递。
echo  "$k1号房间:".$k1."个人";//10
echo  "$k2号房间:".$k2."个人";//1
?>

Caractéristiques du transfert de valeur :

Les valeurs sont égales

Autrement dit, $k1 donne $k2. Les personnes présentes dans la pièce sont égales.

2. Indépendance mutuelle et aucune influence les uns sur les autres

C'est à dire le nombre de convives dans ma chambre $k1 et le nombre de convives dans mon $k1. La salle K2 ne s'affecte pas. C'est ce qu'on appelle : « Différentes manières ne fonctionnent pas ensemble. »

Étape 2

En utilisant l'exemple ci-dessus, supposons que notre chambre $k1 se voit attribuer deux numéros de maison $k1 et $k2 par le préposé à l'entretien pour comprendre

<?php
$k1=2;//$k1号房间住了2个人
$k2=&$k1;//恰巧今天$k1号房间挂上"$k1"和“$k2”两个门牌号
$k1=10;//假设$k1又住进10个人,那么这就是引用传递。
echo  "$k1号房间:".$k1."个人";//10
echo  "$k2号房间:".$k2."个人";//10因为门牌$k1房间的客人就是门牌$k2里面的客人
?>

Caractéristiques du passage de référence :

interagissent les uns avec les autres, c'est-à-dire combien d'invités entrent dans $k1, et combien d'invités sont affichés dans $k2, ce qui est appelée "attachée sur une corde" La sauterelle".

Différences

1. Différences d'utilisation

Le symbole transmis par la valeur est =

référence Le symbole de transfert est &

2. La différence de sens

Le transfert de valeur signifie que les variables sont transférées sans s'affecter, tandis que le transfert de référence signifie que deux variables pointent dans le même espace, s’influençant mutuellement.

Tutoriel 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