Lorsque j'utilise une déclaration de retour en PHP, le résultat sera-t-il retourné par valeur ou par référence?Fonction PHP, retour par valeur ou par référence?
Merci! Andrée
Lorsque j'utilise une déclaration de retour en PHP, le résultat sera-t-il retourné par valeur ou par référence?Fonction PHP, retour par valeur ou par référence?
Merci! Andrée
En PHP, tout est retourné par valeur par défaut (je suis sûr qu'il y a des exceptions à cela mais je ne peux pas penser à des atm). Sauf les objets (PHP> 5.0) qui sont passés par référence par défaut.
Apparemment, il est renvoyé par référence. Ce code simple le prouve.
<?php
class InsideObject
{
public $variable;
}
class OutsideObject
{
private $insideObject;
public function __construct()
{
$this->insideObject = new InsideObject();
$this->insideObject->variable = '1';
}
public function echoVar()
{
echo $this->insideObject->variable;
}
public function getInsideObject()
{
return $this->insideObject;
}
}
$object = new OutsideObject();
$object->echoVar(); // should be 1
$insideObject = $object->getInsideObject();
$insideObject->variable = '2';
$object->echoVar(); // should be 2
Oui, il est passé à titre de référence. Merci ! – Andree
Qu'avez-vous voulu dire par "ça" dans ce cas? Le code qui a provoqué votre question a-t-il renvoyé un objet ou? – Sam