PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Fragen zu Laravel, YII oder anderen PHP-Frameworks. |
 |

19-12-2006, 14:09
|
fx001
Junior Member
|
|
Registriert seit: Nov 2006
Beiträge: 100
|
|
Variablen einer Funktion nach ihr verfügbar machen
Hallo,
wie schaffe ich es, dass ich einige Variablen, die in einer Funktion definiert wurden, nach der fkt wieder ferfügbar sind? Am besten wärs, wenn die Variablen nur dann später verfügbar wären, wenn die Fkt schon mal aufgrufen wurde?
PHP-Code:
function 1()
{
blabla
$variable ="Hallo";
}
function 2()
{
blabla
$variable ="Gruess Gott";
}
echo"
$variable";
Je nach dem Welche Fkt aufgerufen wurde soll $Variable jetzt Hallo oder Grüß Gott ausgeben.
|

19-12-2006, 14:12
|
Abraxax
  THE REAL HAXE (Administrator)
|
|
Registriert seit: Jul 2002
Ort: neuss.nrw.de
Beiträge: 22.623
|
|
PHP-Code:
function f1()
{
return "Hallo";
}
function f2()
{
return "Gruess Gott";
}
echo f1();
echo f2();
|

19-12-2006, 14:13
|
Griecherus
PHP Senior
|
|
Registriert seit: May 2005
Ort: Berlin
Beiträge: 1.036
|
|
Ist
PHP-Code:
function say_hello()
{
return 'Hello.';
}
function say_goodbye()
{
return 'Goodbye.';
}
$var = say_hallo();
echo $var // gibt 'Hello.' aus
da nicht cleverer?
|

19-12-2006, 14:23
|
hall
Registrierter Benutzer
|
|
Registriert seit: Jun 2004
Ort: Berlin
Beiträge: 818
|
|
PHP-Code:
function foo(){
global $bar;
$bar = true;
}
print ($bar) ? "global" : "nix global";
foo();
print ($bar) ? "global" : "nix global";
http://de.php.net/manual/de/reserved...iables.globals
__________________
mfg
|

19-12-2006, 21:19
|
fx001
Junior Member
|
|
Registriert seit: Nov 2006
Beiträge: 100
|
|
Der letzte Ansatz kommt meinen Vorstellungen am nächsten; Denn nur wenn eine von mehreren vorhandenen Fkts aufgerufen wurde, soll der eine Ausgabe machen. Am besten wäre es, wenn in allen Fkts $Ausgabe vorkommen würde und in jeder Fkt einen anderen Wert hätte.
Beispiel: Nur Funktion Nr.3 von insgesamt 4 wird aufgerufen und $Ausgabe hat den Wert "Das ist die Funktion Nr.4". Die Fkt wird beendet und ich möchte später im Skript nach der Fkt echo"$Ausgabe"; (Das hier soll fix sein!) aufrufen können der dann "Das ist die Funktion Nr.4" ausgibt.
Wenn ich jetzt Fkt Nr.2 aufrufe, soll echo"$Ausgabe"; "Das ist die Funktion Nr.2" ausgeben
die letzte sah, denke ich, am vielversprechendsten aus,
hier wird "nix global" ausgegeben, aber leider immer(!), und nicht nur wenn die entsprechende fkt aufgerufen wurde
|

19-12-2006, 21:33
|
penizillin
PHP Guru
|
|
Registriert seit: Feb 2004
Beiträge: 10.166
|
|
wurde $bar vorher explizit auf false gesetzt?
|

19-12-2006, 22:42
|
fx001
Junior Member
|
|
Registriert seit: Nov 2006
Beiträge: 100
|
|
öhm nö, wär das so richtig?
PHP-Code:
function foo(){
global $bar;
if (foo){$bar = true;
}else {
$bar = false;
}
}
print ($bar) ? "global" : "nix global";
foo();
print ($bar) ? "global" : "nix global";
|

19-12-2006, 22:45
|
penizillin
PHP Guru
|
|
Registriert seit: Feb 2004
Beiträge: 10.166
|
|
_so_ schon mal nicht.
mit "vorher" meine ich vor dem funktionsaufruf.
|

19-12-2006, 23:01
|
Rolandbar
Junior Member
|
|
Registriert seit: Mar 2004
Beiträge: 199
|
|
und so? Je nachdem welchen funktionsnamen du in die variable $name_funktion schreibst, wird diese aufgerufen.
PHP-Code:
<?php
function f1()
{
retrun "Funktion f1";
}
function f2()
{
retrun "Funktion f2";
}
function f3()
{
retrun "Funktion f3";
}
$name_funktion = 'f1'; // name der aufzurufenden funktion
// kann auch dynamisch (mit switch, if ...) belegt werden
$ausgabe = $name_funktion();
echo $ausgabe;
?>
__________________
Onlie Browsergame: http://www.war-of-empire.de <-- 2. Weltkrieg
|

20-12-2006, 00:45
|
fx001
Junior Member
|
|
Registriert seit: Nov 2006
Beiträge: 100
|
|
Dann fürhr der doch die ganze Funktion nochmal aus, nur um den Namen später nochmal auszugeben (das meinte ich mit bla im ersten post) hmmm
Wenn ich die Funktion in f1 in meine funktion einsetze
als quasi
fkt
bla //text und ausgaben der fkt
fkt f1
....
dann sagt er mir undefinierte funktion
|

20-12-2006, 00:57
|
penizillin
PHP Guru
|
|
Registriert seit: Feb 2004
Beiträge: 10.166
|
|
vielleicht kommst auch einfach endlich mal auf den punkt und beschreibst, was du _genau_ vorhast.
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
Themen-Optionen |
|
Thema bewerten |
|
Forumregeln
|
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.
HTML-Code ist aus.
|
|
|
|
PHP News
|