phpbar.de logo

Mailinglisten-Archive

[php] Seltsamer Seiteneffekt

[php] Seltsamer Seiteneffekt

Ralf Sczepan rsczepan_(at)_dock23.de
Wed, 13 Dec 2000 13:45:34 +0100


Hallo Thomas

> Es muß ja irgendwie so sein, daß eine Art Referenzierung zwischen den
> Variablen hergestellt wird - ist das möglich ? Wie ? Wieso ? Klar, bei
> C wären beide Variablen Zeiger auf denselben Speicherbereich ... 

Welche beiden Variablen meinst Du? Ich sehe keine zwei "Zeiger" die auf
den gleichen Speicherbereich zeigen.

$feld[1] = $test->a;
Hier findet ein Zuweisung statt, Inhalte werden kopiert, jede weitere
Änderung von $feld[1] hat keinen Einfluss auf $a in der Klasse test.
Eine Änderung von $a wäre so möglich:
$test->a = "N'abend";
vielleicht steht sowas in deinem "vielen Code" ;-).
Lass dir dochmal debuggmässig an mehren Stellen "$test->a" aussgeben, um
den Fehler einzukreisen. Die relevanten Zeilen kannst du dann ja posten.

>wie
> muß ein Statement aussehen, daß diesen Effekt bei php hervorruft ?
> 

Eine Referenz auf $a in der Klasse test könntest du wie folgt erstellen.

$test2 = &$test->a;
$test2 refereziert jetzt $a in Klasse test.

$test2 = "N'abend";
Inhalt von $a in Klasse test wird geandert ($test2 natürlich auch).

echo $feld[1]."/".$test->a;
Jetzt gibt $test->a tatsächlich "N'abend" aus.
Aber das machst du nicht wirklich in deinem Code, oder?
Richtig fein wäre es, wenn du $a über eine eigene Methode/Funktion
ändern würdest.

Gruss Ralf


php::bar PHP Wiki   -   Listenarchive