Maison > Article > développement back-end > Quand php passe-t-il par valeur ou par référence ?
Les variables sont toujours affectées par valeur par défaut. Autrement dit, lorsque la valeur d'une expression est affectée à une variable, la valeur de l'expression d'origine entière est affectée à la variable cible. Cela signifie que, par exemple, modifier la valeur d'une variable alors que la valeur d'une variable est affectée à une autre variable n'affectera pas l'autre variable.
PHP propose également un autre moyen d'attribuer des valeurs aux variables : l'affectation de référence. Cela signifie que la nouvelle variable fait simplement référence (en d'autres termes, "alias" ou "pointe vers") la variable d'origine. Changer la nouvelle variable affectera la variable d'origine et vice versa. Pour utiliser l'affectation par référence, ajoutez simplement un signe & devant la variable à affecter (la variable source).
Les objets sont passés par référence par défaut. Pour les données plus volumineuses, il est préférable de passer par référence, ce qui peut économiser de la mémoire.
Remarque :
Passer par valeur : toute modification apportée à la valeur dans la fonction sera ignorée en dehors de la fonction.
Passage par référence : Toute modification de la valeur au sein de la fonction reflétera également ces modifications en dehors de la fonction.
Scénario d'application : lors du passage par valeur, PHP doit copier la valeur, mais le passage par référence n'a pas besoin de copier la valeur, donc le passage par référence est généralement utilisé pour les grandes chaînes ou les objets.
Avantages et inconvénients :
Lors du passage par valeur, PHP doit copier la valeur. Cela coûte cher pour les grosses chaînes et les objets. Le passage par référence ne nécessite pas de copier la valeur, ce qui permet d'améliorer les performances.
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!