Hello,
http://www.php.net/manual/en/functions.arguments.php
Das ist etwas schwabbelig ausgedrückt im Manual. Sollte das bei PHP ggf. auch möglich sein, Funktionsaufrufe nur temporär für Call by Refenence zu verwenden, indem man das & erst beim Aufruf verwendet? Ich kann es im Moment leider nicht selber ausprobieren.
Ok, ausprobiert:
<?php ### reference.php ###
function rechne($b, $n, &$ergebnis1, &$ergebnis2)
{
$ergebnis1 = $b*$n; ## Ergebnisse stehen immer links von der Zuweisung!
$ergebnis2 = $b+$n;
$b = $ergebnis1;
$n = $ergebnis2;
}
$q=7;
$w=5;
echo "vorher: $q, $w <br />"; ## liefert 7 ,5
rechne($q,$w,$ergebnis1, $ergebnis2);
echo "nachher: q = $q, w = $w <br>"; ## liefert q = 7, w = 5
echo "nachher: $ergebnis1, $ergebnis2 <br>"; ## liefert 35, 12
echo "vorher: $q, $w <br />"; ## liefert 7, 5
rechne(&$q,&$w,$ergebnis1, $ergebnis2);
echo "nachher: $q, $w <br>"; ## liefert 35, 12
?>
Erinnerung aufgefrischt:
Man kann also in PHP den Call by Reference auch temporär verwenden, indem man die Funktion erst beim Aufruf dazu veranlasst, "den Rückweg zu öffnen"...
Harzliche Grüße vom Berg
http://www.annerschbarrich.de
Tom
Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
Nur selber lernen macht schlau