Passe une variable par reference
Fermé
nickleus
Messages postés
374
Date d'inscription
dimanche 20 janvier 2008
Statut
Membre
Dernière intervention
18 juin 2011
-
24 avril 2009 à 19:06
pyschopathe Messages postés 1974 Date d'inscription dimanche 2 mars 2008 Statut Membre Dernière intervention 22 mars 2010 - 25 avril 2009 à 17:12
pyschopathe Messages postés 1974 Date d'inscription dimanche 2 mars 2008 Statut Membre Dernière intervention 22 mars 2010 - 25 avril 2009 à 17:12
A voir également:
- Passe une variable par reference
- Trousseau mot de passe iphone - Guide
- Mot de passe - Guide
- Mot de passe administrateur - Guide
- Voir mot de passe wifi android - Guide
- Mot de passe bios perdu - Guide
4 réponses
PhP
Messages postés
1770
Date d'inscription
lundi 11 décembre 2000
Statut
Membre
Dernière intervention
23 décembre 2009
606
24 avril 2009 à 21:50
24 avril 2009 à 21:50
Bsr
Normal car c'est loin d'être trivial.
Tout ceci est nettement mieux expliqué dans cet article (en anglais mais avec des schémas très détaillés)
https://derickrethans.nl/talks/phparch-php-variables-article.pdf
Normal car c'est loin d'être trivial.
Tout ceci est nettement mieux expliqué dans cet article (en anglais mais avec des schémas très détaillés)
https://derickrethans.nl/talks/phparch-php-variables-article.pdf
pyschopathe
Messages postés
1974
Date d'inscription
dimanche 2 mars 2008
Statut
Membre
Dernière intervention
22 mars 2010
135
24 avril 2009 à 22:40
24 avril 2009 à 22:40
Les variables sont des noms permettant d'identifier des adresses en mémoire. Dans ces adresses, on stocke des données.
Par exemple :
Exemple:
J'espère avoir éclairci un peu ta lanterne, sinon n'hésite pas à demander des précisions.
Par exemple :
$a = 2 -> On réserve une zone de mémoire et on dit que "$a" pointe dessus. Ensuite on place la valeur 2 dedans. $b = 3 -> On réserve une zone de mémoire et on dit que "$b" pointe dessus. Ensuite on place la valeur 3 dedans.La différence entre les deux notations vient du fait que dans un cas, on copie la valeur contenu dans la case mémoire, dans l'autre, on fait pointer la variable vers une autre case.
Exemple:
cas 1: $a = $b -> $a = 3La valeur contenue par la variable b est copiée dans la variable a.
cas 2: $a =& $b -> $a = 3La variable a référence la même adresse mémoire que la variable b.
$b = 5 -> $a = 5On modifie la valeur référencée par b, donc la valeur référencée par a puisque les deux noms pointe sur le même emplacement mémoire.
J'espère avoir éclairci un peu ta lanterne, sinon n'hésite pas à demander des précisions.
nickleus
Messages postés
374
Date d'inscription
dimanche 20 janvier 2008
Statut
Membre
Dernière intervention
18 juin 2011
5
25 avril 2009 à 09:03
25 avril 2009 à 09:03
Merci de votre aide. J'espère avoir compris. Donc cela voudrait-il dire que si :
$b = 1;
$a =& $b;
donc si le modifie la valeur de $a par 2 (par exemple), alors
$b == 2;
Est-ce que c'est ça ou alors j'ai rien compris ? ;)
$b = 1;
$a =& $b;
donc si le modifie la valeur de $a par 2 (par exemple), alors
$b == 2;
Est-ce que c'est ça ou alors j'ai rien compris ? ;)
pyschopathe
Messages postés
1974
Date d'inscription
dimanche 2 mars 2008
Statut
Membre
Dernière intervention
22 mars 2010
135
25 avril 2009 à 17:12
25 avril 2009 à 17:12
Gagné ^^. C'est assez utile de comprendre ce genre de "détails", ça s'applique aussi à d'autres langages que PHP.
PhP
Messages postés
1770
Date d'inscription
lundi 11 décembre 2000
Statut
Membre
Dernière intervention
23 décembre 2009
606
25 avril 2009 à 09:38
25 avril 2009 à 09:38
Bjr
Oui c'est ça ;-)
En général les références sont utilisées avec les fonctions pour passer un paramètre qu'on veut modifier dans la fonction ou pour retourner une référence.
function addition($param)
{
$param+=100;
}
$a=10;
addition($a);
echo $a; // Affiche 10
function addition_par_reference(&$param)
{
$param+=100;
}
$a=10;
addition_par_reference($a);
echo $a; // Affiche 110
Quand aux objets depuis PHP 5 ils sont systématiquement passés par référence même sans l'utilisation du signe &
Oui c'est ça ;-)
En général les références sont utilisées avec les fonctions pour passer un paramètre qu'on veut modifier dans la fonction ou pour retourner une référence.
function addition($param)
{
$param+=100;
}
$a=10;
addition($a);
echo $a; // Affiche 10
function addition_par_reference(&$param)
{
$param+=100;
}
$a=10;
addition_par_reference($a);
echo $a; // Affiche 110
Quand aux objets depuis PHP 5 ils sont systématiquement passés par référence même sans l'utilisation du signe &