Variable und Arrays:
Variable sind Werte, die sich verändern lassen. Der Variablenwert wird einem Variablennamen zugeordnet, über den er ansprechbar wird. Die Variable ist so ein sehr flexibler Zwischenspeicher (Speicherplatz) für Daten.
Variable initialisieren
$Meinnameist
- Variablen-Namen beginnen mit einem Dollar $-Zeichen: $Varii
- Variablen müssten sprechende Namen haben, ihren Verwendungszweck beschreiben, damit ich den Code besser verstehen kann.
- Der Zuordnungsoperator ist ein einfaches gleich: $Varii =
- Der L-Wert (linker Wert) einer Variablen ist der Name (ihre Adresse), der R-Wert (recht Wert) ist ihr Inhalt, der eigentliche, 'gespeicherte' Wert.
- Der Wert steht in Anführungszeichen, wenn es eine "Zeichenkette" ist (Typ string):
$Varii = "Wert";
- ohne Anführungszeichen wenn es eine Zahl ist (Typ integer), mit der gerechnet werden soll:
$Varii = 666;
- weitere Werte können: true oder false, 1 oder 0 (Typ bolean) sein:
$Varii = TRUE;
- Zur Erinnerung: eine Befehlszeile wird mit einem Semikolon ; beendet.
- Der Datentyp muss zwar nicht vorgängig definiert werden, aber jede Variable hat einen latenten Typ. Der Typ kann umgewandelt werden.
- Variable sollten am Anfang des Scripts initialisiert (erstellt und vorbelegt) werden, im Verlauf des Scripts werden sie dann nur überschrieben und verwendet. So verhindere ich Fehler, durch den Versuch inexistente Variablen auszugegeben.
- Variablen können global oder lokal und static sein. Variablen, welche in Funktionen
eingeführt wurden sind nur 'local' (innerhalb dieser Funktion) gültig.
Durch die Deklaration mit 'global' in der Funktion, wird die Variable auch ausserhalb nutzbar.
Static Variablen haben ein Erinnerungsvermögen. - Variablen als Klassenmethoden können public (sichtbar), protected oder private (unsichtbar) sein. Wird nichts definiert, gelten sie als public.
- Variablen sollen immer kommentiert werden. Wozu dient sie, was geschiet hier mit ihr? Coding Guide
Wert der Variablen ausgeben
Ein String in doppelten Anführungszeichen kann Variablen ausgeben.
Variablennamen selber sind keine Strings. Wie die anderen PHP-Sprachelemente stehen die
Namen eigentlich nicht in Anführungszeichen.
Falls sich der Variablenname in einem String mit doppelten Anführungszeichen
wiederfindet, wird der Variablenwert ausgegeben.
Achtung: In Strings mit einfachen Anführungszeichen wird der variablenname (nicht der Wert) ausgegeben.
Zur Ausgabe von Variablenwerten müsste ein String also nicht unterbrochen bzw.
mit einem Punkt zusammengesetzt werden.
Beispiel:
<?php
$name = "Marcel"; // einer Variablen mit dem Namen $name wird der Wert "Marcel" zugewiesen
echo $name; // Wert im Browser ausgegeben
echo "<br />Mein Name ist $name"; // String und Wert der Variablen ausgeben mit Gänsefüsschen
echo '<br />Mein Name ist $name'; // String und Name der Variablen ausgeben mit Hochkommatas
echo "<br />Mio Dio {$name}lo"; // Variable im String abgrenzen und zusammenhängend ausgeben
echo "<br />Hallo ".$name; // ein Punkt verkettet String mit Variable
?>
Mein Name ist Marcel
Mein Name ist $name
Mio Dio Marcello
Hallo Marcel
Variable erweitern
Die obige Variable wird durch einen Punkt vor dem Zuordnungsoperator erweitert.
Ohne diesen Punkt würde der alte Wert einfach mit dem neuen Wert überschrieben.
.=
Beispiel:
<?php
$name .= " Biefer"; // durch einen Punkt vor dem Zuordnungsoperator erweitern
echo "Hallo $name<br/>"; // und im Browser ausgegeben
?>
Existenz prüfen
isset()
<?php
// falls die Variable existiert
if (isset($name)) { // gibt TRUE oder FALSE zurück
echo "Variable vorhanden.";
}
?>
Kurzprüfung
<?php
if($name) { // steht für: if($name == true)
echo $name;
}
?>
Negative Prüfung
<?php
if(!$name) { // steht für: if($name == false)
echo 'Kein $name vorhanden';
} else {
echo $name;
}
?>
Wert prüfen
Zu den Kontrollstrukturen: if, else, switch Kontrollen.
Der Wert einer Variablen kann durch Vergleiche geprüft werden.
Die if Abfrage (siehe oben) kann komplexer sein, unterschiedliche Operatoen stehen
zur Verfügung und es gibt weitere Konditionen.
Rückgabe auffangen
Variablen dienen bestens als Zwischenspeicher von Rückgabewerten, jede Funktion liefert nebst dem Resultat auch einen Status zurück: 'true' oder 'false', 1 oder 0 / Leerstring. Um einen Rückgabewert aufzufangen speichert man diesen in einer Variablen:
<?php
$return = isset($name);
echo $return;
?>
Variable löschen
unset()
Einzelne Variable löschen:
unset($variable);
Mehrere Variablen löschen:
unset($Kirche, $Maus, $Opferstock);
Einzelnes Array-Element löschen:
unset($arrayname['arrayindex']);
Ganzen Array löschen:
unset($arrayname);
// Array existiert nicht mehr
Array leeren:
$arrayname = array();
// Array existiert noch, aber hat keinen Eintrag
Ein variabler Variablennamen
Ein Variablennamen zusammenbasteln mit einem Prefix und einer Variablen Nummer.
So könnte bei jeder neuen Wertzuweisung der Variablennahme um 1 erhöht werden (z.B. in einer Schleiffe).
<?php
$i=0; // Anfangswert
${"Linie_".$i} = "Linie Null"; // konstruiert $Linie_0
$i=$i+1; // um eins erhöhen
${"Linie_".$i} = "Linie Eins";
$i+=1; // um eins erhöhen
${"Linie_".$i} = "Linie Zwei";
echo $Linie_0."<br />";
echo $Linie_1."<br />";
echo $Linie_2."<br /><br />";
// Die variable Variable sieht so aus:
$L0="Linie_0"; // Variable übergeben
echo ${$L0}."<br />";
echo $$L0."<br />";
echo $L0;
?>
Linie Eins
Linie Zwei
Linie Null
Linie Null
Linie_0