eigene Funktionen

Tob

Erfahrenes Mitglied
Hi
stehen die in einer funktion als global verwendete variable auch anderen funktuionen oder nur dem hauptprogramm zur verfügung ??
 
sorry, wenn ich es auch noch mal sagen muss:

WELCHE SKRIPTSPRACHE ???????????????? :rolleyes:

Gruß
Dunsti
 
Prinzipiell stehen Variablen nur in dem Block zur Verfügung, in dem sie definiert werden:
Variablen, die in einer Funktion definiert werden, sind nur in dieser Funktion bekannt, entsprechend sind Variablen, die im Hauptprogramm definiert werden in keinen Funktionen bekannt.

Globale Variablen:

mit dem Schlüsselwort global kann in Funktionen auf Variablen zurückgegriffen werden, die im Hauptprogramm definiert wurden.
PHP:
<?
$zahl=123;
function ausgabe1()  {
     echo $zahl; //funzt nicht, da $zahl in der Funktion nicht bekannt ist
}
function ausgabe2()  {
     global $zahl; //stellt die Variable $zahl auch der Funktion zur Verfügung
     echo $zahl; //und hier funzt die Ausgabe
}
// hier noch eine Variante:
function ausgabe3()  {
    echo $GLOBALS["zahl"]; //funzt auch !!!
}

alles Klar ? :)

Gruß
Dunsti
 
@Dunsti

Ich glaub du hast mich geaddet oder ??

Woher lernt man das alles ???
Wenn ich mein PHP Buch anschaue dann verplann ich immer alles :)
Ich muss auch zugeben das ich im mom ASP und PHP lerne und sie doch recht unterschiedlich sind. Vielleicht verwirrt mich das immer.
 
übung macht den meister....
ich denke wenn man ein gewisses grundwissen hat dann muss man einfach drauflosproggen , ausprobieren und auf tutorials.de nachfragen und das ganze mit nem guten tut zum nachschlagen garnieren :-)

naja ist nur meine meinung

CU Tob
 
genau so ist es.
Ich hab mir das meiste selbst durch "learning by doing" beigebracht.
Ich muss auch bei jedem zweiten Befehl die genaue Syntax nachschlagen :-)

@Boli: ja, hab Dich geaddet ... Du mich doch auch, oder?

Gruß
Dunsti
 
globale ARRAYs

Ich hab ein ähnliches Problem und dachte, ich knüpfe mal an diesen Thread an... Also normale Variablen im PHP-Skript "global zu halten" ist kein Problem, aber ich hab ein Skript, wo ich ein Array global halten will, aber es klappt nicht: Obwohl ich das Array mit

global $runarray;

in der Funktion als global definiert habe, klappt es nicht.
Muss man Arrays anders deklarieren? Hab auch schon global $runarray[]; probiert...

(Das Array ist mehrdimensional)

Danke und Grüße
 
Zurück