Der Name muss mit einem Dollarzeichen '$' beginnen
Das zweite Zeichen muss entweder ein Buchstabe (A-Z oder a-z) oder ein Underscore '_' sein
Der Name besteht aus Alphanumerische Zeichen (0-9, A-Z oder a-z) und den Underscore '_'
Variablen sind case-sensitive ($Aa <> $aa <> $aA <> $AA)
OK sind: $_Hallo, $Jahr_2024
NOK sind Hallo, $2er_Tag, $nächster, &Jahr_2024 (dieses '&' hat mich schon zum verzweifeln gebracht ;-)
Variablen Typ
Der Typ wird durch die Zuweisung bestimmt
$i = 12; // ist integer
$f = 1.2; // ist float
$s = "12"; // ist string
$a = ['i' => 12, 's' => "12"];
$a2 = array(12, '12'); //beide sind Arrays
Aber der Typ ist nicht in Stein gemeisselt und wird beim Gebrauch der Variablen angepasst
Kann aber kein geeigneter Typ im Variablenwert erkannt werden wird eine Warnung ausgegeben.
Folgende Ausgabe wurde mit php generiert
PHP START
array a = 12, 12 array a = , array a2 = 12, 12 (($i * $s) + $f) = 145.2 ($a2[0] * $a2[1]) = 144 (2 + "acht") = Warning: A non-numeric value encountered in /home/httpd/vhosts/infoseca.ch/httpdocs/prg/php/var.php on line 55
2 (2 * "8") = 16 Im ersten Ausdruck kann kein Wert erkannt werden, aber trotzdem ein 0-Wert genommen (2+0=2) und der Ablauf wurde nicht angehalten, im zweiten wurde die 8 erkannt und zum rechnen umgewandelt
ENDE PHP
Weitere mögliche Typen sind, boolean (nichts und 1), Objekte, Ressourcen
Variablen Gültigkeit
Variablen sind auf der ganzen Seite gültig.
... aber jeweils bloss auf der obersten Stufe direkt ansprechbar
In, beispielsweie Funktionen, müssen sie aus ihren "Container" angesprochen werden.
Der "Container" ist ein Array mit dem Namen $GLOBALS
Aktuell hat dein $GLOBALS folgenden Inhalt