Variable aus Function
Tim
- php
0 Ralf Rapude0 Tim0 Klassmann0 Tim0 Jan Lehnardt0 Tim
0 Ralf Rapude
0 Sönke Tesch
Tag!
Vielleicht 'ne blöde Frage:
Wie übergebe ich eine Variable von einer function an das "Hauptprogramm"? Umgekehrt mach ich das ja einfach so: function_sowieso($variable); In der function soll die $variable aber geändert werden, und das "Hauptprogramm" soll es auch mitbekommen...
Danke!
Tim
Moin,
indem du folgendes schreibst:
$meine_var = function x();
und in die Funktion:
function x(){
$irgendwas = "huhu";
return $irgendwas;
}
Damit gibst du die Variable $irgendwas an die Variable $meine_var zurück. Wäre $irgendwas in diesem Fall ein String z.B. "huhu" und du würdest auf deiner Seite dann echo $meine_var; aufrufen, würde jetzt ein "huhu" ausgegeben.
Gruß
Ralf
Hallo!
$meine_var = function x();
Hier wird eine Fehlermeldung ausgegeben! (Parse error)
Tim
$meine_var = function x();
Hier wird eine Fehlermeldung ausgegeben! (Parse error)
Hmm, das funktioniert aber so. Und der Code war auch richtig. Da hast Du dann einen kleinen Flüchtigkeitsfehler drin.
Poste halt mal Deinen kompletten Code :-)
Nochmal Hallo!
Poste halt mal Deinen kompletten Code :-)
<?php
function mein_name()
{ $mein_name = "Tim";
return $mein_name;
}
$name = function mein_name();
echo "Mein Name ist " . $name;
?>
Ausgabe:
Parse error: parse error in c:\html\test\name.php on line 7
Grüße: $mein_name
Hi,
$name = function mein_name();
das function Keyword brauchst du nur bei der definition deiner Funktion.
daher sollte $name = mein_name(); funktionieren.
ausserdem gibt es noch die moeglichkeit mit referenzen zu arbeiten:
function foo ( &$bla)
{
$bla = 'huhu';
}
$bla='';
foo($bla);
echo $bla;
Jan
--
...daher sollte $name = mein_name(); funktionieren.
Juhuuuuu, So geht's!
Danke! Tim
Hallo Tim,
Sorry. War meine Schusseligkeit. Wie schon gesagt wurde, muß es natürlich
ohne das Schlüsselwort function geschrieben werden.
Grüße
Ralf
Vielleicht 'ne blöde Frage:
Wie übergebe ich eine Variable von einer function an das "Hauptprogramm"? Umgekehrt mach ich das ja einfach so: function_sowieso($variable); In der function soll die $variable aber geändert werden, und das "Hauptprogramm" soll es auch mitbekommen...
Zum Beispiel mit
function funktion($innen)
{
$innen+=1; // einen dazuzählen
return $innen;
};
in der Funktion. Die Funktion muß dann so
$variable=funktion($variable);
aufgerufen werden. PHP hat übrigens die etwas außergewöhnliche Eigenschaft, Variablen nicht in den Gültigkeitsbereich von Funktionen zu übernehmen; $variable von oben existiert also nicht in der Funktion, nur $innen.
Alternativ kannst Du auch einen Zeiger auf die Variable selber übergeben, so daß die Variable $variable auch innerhalb der Funktion existiert:
function funktion(&$innen)
{
$innen+=1;
}
Folgendes Programm
$i=1;
funktion($i);
echo $i;
würde dann 2 ausgeben.
Last but not least kannst Du auch Variablen allgemein in eine Funktion reinholen, dazu dient "global":
function funktion()
{ global $i;
$i+=1; // einen dazuzählen
}
Diese Funktion hätte denselben Effekt wie im zweiten Beispiel oben.
Gruß,
soenk.e
PS: RTFM.