Hallo allerseits,
ist es richtig, dass Objekte im Falle einer Parameterübergabe an eine Funktion immer als Referenz übergeben werden?
Da ich dies gerade benötige, stellte ich ein paar Tests an und kam zur Erkenntnis, dass ein Objekt immer als Referenz übergeben wird. (?)
Denn folgender Code erzeugt eine Ausgabe von "4":
Was nun, falls ich ein Objekt mal nicht als Referenz übergeben möchte? Dann muss ich mich selbst um eine Kopie kümmern?
ist es richtig, dass Objekte im Falle einer Parameterübergabe an eine Funktion immer als Referenz übergeben werden?
Da ich dies gerade benötige, stellte ich ein paar Tests an und kam zur Erkenntnis, dass ein Objekt immer als Referenz übergeben wird. (?)
Denn folgender Code erzeugt eine Ausgabe von "4":
Code:
class refTest
{
public $value = 0;
}
function inc($argObj)
{
$argObj->value++;
}
$ref = new refTest;
$ref->value = 3;
inc($ref);
echo($ref->value);
Was nun, falls ich ein Objekt mal nicht als Referenz übergeben möchte? Dann muss ich mich selbst um eine Kopie kümmern?