Hallo,
also ich habe eine Funktion, die gibt nicht nur einen Wert zurück, sondern soll auch noch eine übergebene Variable ändern.
Beispiel:
<?php
function add(&$var) { $var +=5; }
$var = 10;
add(&$var);
echo $var; //Ausgabe: 15
?>
(Ein Return ist in meinem Beispiel nicht möglich, global ist auch nicht das wahre)
Naja bei mir klappt dieser Script, ein Freund meinte aber, folgende Fehlermeldung zu erhalten:
Warning: Call-time pass-by-reference has been deprecated - argument passed by value; If you would like to pass it by reference, modify the declaration of runtime function name. If you would like to enable call-time pass-by-reference, you can set allow_call_time_pass_reference to true in your INI file. However, future versions may not support this any longer. in script.php on line 2
So jetzt die Frage, wie muss der Script richtig aussehen*, es gibt ja ein paar Möglichkeiten:
#1:
function add(&$var) { $var +=5; }
add(&$var);
#2:
function add(&$var) { $var +=5; }
add($var);
#3:
function add($var) { $var +=5; }
add(&$var);
* Der Script muss möglichst weit Abwärtskompatibel sein, sprich am besten von PHP4.0.6 bis PHP5.1
Grüße
Dieter