Type de valeur :
Contient : chaîne, tuple, valeur, lui-même ne peut pas être modifié
Type de référence :
Contient : liste, dictionnaire, lui-même est autorisé Modifier
a = 2
b = a
a = 3
Modifier la valeur du type de valeur, juste laissez-le pointer vers Une nouvelle adresse mémoire ne changera pas la valeur de la variable b
lista = [1,2]
listb = lista
lista[ 0] = 3
Modifier la valeur du type référence Parce que l'adresse de listb est cohérente avec lista, elle sera également modifiée
Généralement juste pour copier la valeur, vous pouvez. utiliser l'opération de sharding
listb = lista[:]
Le passage par valeur ne transmet que la valeur
Le passage par référence transmet l'adresse mémoire Après modification, la valeur stockée correspondant à la mémoire. l'adresse sera modifiée.
Il est plus clair d'utiliser un tableau comme exemple. Par exemple, si nous définissons un tableau a[]={1,2};
alors a[0]=1,a[1]=2. .
Si nous passons la valeur de l'élément dans le tableau a en tant que paramètre, cela ne fait en fait que transmettre la valeur et n'a aucun effet sur le tableau lui-même.
Si nous passons le pointeur du tableau a en tant que paramètre, alors la fonction. qui est traité peut modifier directement la valeur du tableau a.
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!