no title

bruderherz

Gesperrt
also in einem php buch(programmieren lernen in php4 von jörg krause)
steht:

<?php
$zahl = 14;
$ziel = $zahl;
$zahl = 15
echo $ziel
?>

es existieren nun zwei unabhängige variablen, $zahl und $ziel, beide mit dem wert 14. änerungen an einer der variablen wirken sich woanders nicht aus. das skript gibt die zahl 14 aus.
_______________________

wieso hat $zahl auch den wert 14? $zahl wurde doch 15 übergeben! und wieso wird $ziel nicht verändert? ist das immer so? also wird der wert der variablen die man einer anderen variablen übergibt nie geändert wenn man die übergebene variable verändert?

oder war das nur ein fehler?

danke im voraus
 
wieso hat $zahl auch den wert 14? $zahl wurde doch 15 übergeben! und wieso wird $ziel nicht verändert? ist das immer so? also wird der wert der variablen die man einer anderen variablen übergibt nie geändert wenn man die übergebene variable verändert?

$zahl = 14; hier bekommt zahl den wert 14
$ziel = $zahl; ziel bekommt den wert von zahl sprich 14
$zahl = 15; jetzt erst wird zahl auf 15 geändert

echo $ziel .. gibt 14 aus allerdings hat zahl hier den wert 15
aber die wird ja nicht ausgegeben..
logo wird zahl verändert...
aber änderung an zahl haben keine wirkung auf andre vars
(warum auch?)
 
Original geschrieben von nixkapier

wieso hat $zahl auch den wert 14? $zahl wurde doch 15 übergeben! und wieso wird $ziel nicht verändert?

$ziel würde verändert werden, wenn du z.B in C oder C++ $ziel als einen pointer deklarierst, der auf $zahl zeigt.

Da es sowas aber in PHP nicht gibt, würd ich mir mal die antwort von melmager anschaun

]Ton[
 
ähh wenn das so im buch steht ist das schlicht falsch

ja es gibt zwei unabhängige vars aber sie haben beim echo befehl unterschiedliche werte ...

nachtrag:

wenn man den inhalt von vars betrachtet muss man auch immer den zeitpunkt betrachen das ist ja das schöne das variablen im programmverlauf ständig ihre inhalte ändern

die aussage die da steht trifft genau auf eine zeile im script zu diese :

$ziel = $zahl;

auf sonst keine zeile ....
 
Zuletzt bearbeitet:
ah, dann lag ich also doch richtig!:D

aber ziel wird immer den wert 14 haben, auch wenn die variable zahl geändert wird, oder?(ausser wenn ziel geändert wird)
 
JA :-)

nur die variable die auf der linken seite vom gleichheitszeichen steht wird geändert ALLE anderen Vars behalten ihren wert
 
Zurück