Hallo. Eine Frage zu PHP. Habe angefangen damit zu programmieren. Gibt es eine Möglichkeit in PHP defines wie in C zu definieren. D.H. in c: #define WERT 10 in PHP ????????????? Viel Wichtiger. Gibt es noch die Möglichkeit des Funktions defines. In c: #define CALCULATE(zahl) Berechne (Zahl); in PHP ????????????? Danke für Eure Hilfe BYE tomi
http://de.php.net/manual/de/function.define.php aber du bekommst (leider) keine Laufzeitfehler wenn du dich in der Konstante "verbuchstabierst".
1 | #define CALCULATE(zahl) Berechne (Zahl);
|
weiß jetzt nicht was das bringen soll aber ich würde:
1 | function CALCULATE(zahl) { return Berechne(Zahl) } |
machen. evtl löst aber auch das http://de.php.net/manual/de/function.create-function.php dein Problem. Gruß Roland
Hallo nochmal. Danke das habe ich gesucht. Jetzt habe ich aber folgendes problem. Habe das in PHP $Func_1 = create_function('','return "Hallo";'); function GetRaum1() { $Raum = $Func_1(); return $Raum; } Wenn ich die Funktion GetRaum1() aufrufe bekomme ich im Browser folgendes: "Fatal error: Call to undefined function Func_1() in D:\webmy\rooms_func.php on line xx" Wie kann ich die definierte Funktion im gleichen file aufrufen? Wenn ich $Func_1() aus einem anderen skript aufrufe funktioniert es. Was ist denn anders wenn es im gleichen File steht? Danke. BYE Thomas
Hallo, bei mir sahen die Funktionen mehr so aus: function GetArtikelPreis ($artikel) { $preis = 0; if ($artikel == 12345) { $preis = "246,75 Euro; } return $preis; } Gruß aus Berlin Michael
Sorry! Was meinst Du damit??? Wollte die Funktion von create_function näher erklärt haben!!
create_function ist in den allermeisten Fällen Unsinn. Schreib einfach: function Func_1() { return "Hallo"; } und schon ist die Funktion namens Func_1 bekannt.
Achso: Es gibt define in PHP. Allerdings funktioniert das ganz anders als in C oder C++. In PHP kannst du nur ganz bestimmte primitive Typen in defines verwenden (Arrays gehen z.B. nicht). Für feste Zahlenwerte oder feste Strings ist define also zu gebrauchen, für alles andere eigentlich nicht. Insbesondere ist es nicht möglich, mit define irgendwelche Funktionen oder Makros zu definieren. Dafür gibt es die Syntax "Funktions-Definition", die so aussieht: function Func_1() { return "Hallo"; }
Hallo, ich bin nicht der php-freak, aber was ist hiermit $Func_1 = create_function('','return "Hallo";'); function GetRaum1() { $Func_1 = create_function('','return "Hallo";'); $Raum = $Func_1(); return $Raum; } echo GetRaum1(); Sollte dann auch aus dem eigenen script aufgerufen werden
Hallo, vom ursprünglichen Grundsatz her ist PHP eine Server-basierte Scriptsprache. Damit kann sowieso alles nur aus einem Script stammen, wenn das durchgelaufen ist, ist die Geschichte zuende. Gemeinsam genutzte Teile kannst Du zwar auslagern und per .include einbinden, mehr aber üblicherweise auch nicht. Liegt hauptsächlich daran, daß ja auf einem Webserver für jeden Aufruf eine Instanz eingerichtet werden muß, die nach durchlaufen des Scriptes wieder freigegeben werden muß (würde den Server-Provider wohl ziemlich stören, wenn es nicht so wäre. ;) Aber vermutlich habe ich auch nur nicht so richtig verstanden, worum es Dir geht. Gruß aus Berlin Michael
> $Func_1 = create_function('','return "Hallo";'); > > function GetRaum1() > { > $Func_1 = create_function('','return "Hallo";'); > > $Raum = $Func_1(); > return $Raum; > } > > echo GetRaum1(); Geht's noch umständlicher? ;-) Mal davon abgesehen, dass du $Func_1 jetzt in zwei verschiedenen Scopes definiert hast: create_function ist für sowas doch total unsinnig. Was spricht gegen eine simple Funktionsdefinition der folgenden Art? function Func_1() { return "Hallo"; } Solche Funktionsdefinitionen kann man sogar lokal machen. Wenn man unbedingt möchte, kann man also schreiben: function GetRaum1() { function Func_1() { return "Hallo"; } $Raum = Func_1(); return $Raum; }
Hallo Chris, sorry, ich meinte eigentlich auch nur die lokale Definition. Die da drüber ist mir beim Kopieren mit rein gekommen. Gruß Jörg
$Func_1 = create_function('','return "Hallo";'); function GetRaum1() { gloabl $Func_1; $Raum = $Func_1(); return $Raum; }
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.