Statische Variable

one_o

Gesperrt
Hallo

Lese grad ein PHP Handbuch und habe dort eine Frage die mir das Buch leider nicht beantworten kann :(

Zitat:
<?php

function zeige()
{
static $var = 10; // statische Deklarierung
$var = $var + $var;
echo ("Der Wert der Variablen ist: $var <br>");
}
zeige();
zeige();

?>

Ausgabe:

Der Wert der Variablen ist:20
Der Wert der Variablen ist:40

Wie mus ich das jetzt verstehen

So Vieleicht ?
$var = $var + $var;

Hier wird 10 +10 genommen und die 20 dan wieder in $var gespeichert
Dann läuft das script nochmal durch und static $var = 10; // statische Deklarierung das wird ignoriert und wieder

$var = $var + $var;

20+20 in $var gespeichert .

Ist jetzt nur die einzigste Lösung die ein bischen Sinn ergipt :confused:
Leider Gottest haben die Autoren des Buches manch einen Teil doch zu schnell geschrieben:rolleyes:
 
Öh. Mist. Für mich ist das was im Buch steht wieder logisch :suspekt:

Static in einer Funktion ist genau das was one_o beschreibt.
Beim nächsten Aufruf erhält die Variable ihren letzten Zustand / Wert und wenn keiner da seien sollte dann erhält sie den Wert hinter dem Gleichzeichen.
Auf die Variable kann man aber nur innerhalb der einen Funktion zugreifen.
Außerhalb der Funktion "echo $var;" zu schreiben würde nichts ergeben.

Kannst du mir bitte sagen wie das Buch heißt? Dann guck ich mir das morgen an.
 
Hallo Felix Jacobi

Schon mal ein dickes danke das du dir die Mühe machst mir zu helfen :)

Wollte aber wissen wie die Autoren des Buches auf die 2 Ausgaben gekommen sind,oder wie das Script abläuft damit man einmal die Ausgabe 20 hat und einmal die Ausgabe 40 .

Geht mir nur darum das Buch 100% zuverstehen.

mfg.one

@ZodiacXP
Markt & Technik - Jetzt Lerne Ich Mysql & Php
 
Sie wird halt nur als Standardwert genommen, ist nicht gegeben ist es halt 10.

Ich glaub du hast so ein bisschen das Verhalten einer Konstanten im Kopf ;)
 
Zurück