Web.Development Seminar / Variablentypen, Listen und Arrays
Skalare Variablentypen
Variablen kann man sich als Ablagestellen/Fächer (Speicherstelle) für Informationen (Zahlen/Zeichen/etc.) vorstellen. Diese Ablagestellen haben einen Namen (Variablenname) und einen Inhalt. Der Variablentyp legt die Art der gespeicherten Informationen fest.
Skalare Variablen erhalten immer nur einen Wert.
- Hint: Die Festlegung welchen Typ meine Variable hat erfolgt durch die Zuweisung. Das hat zur Folge das PHP nicht Typ sicher ist. Eine Variable mit dem Typ integer kann durch manipulation (Operation) einen anderen Typ erhalten!
In PHP werden Variablen mit $ gekennzeichnet z.B.: $variablenname
PHP unterstützt vier skalare Variablentypen:
- Ganzzahlen (integer)
- Kommazalen (floating-point number (float))
- Alphanumerische zeichenketten (string)
- Wahr/Falsch (boolean)
- Hint: Variablen sind Case Sensitive, d.h. das Klein Großschreibung unterschieden wird! $Nase != $nase
int
(Numerischer Literal)
Ganze Zahlen Positive aber auch Negativ. Es gibt keine signed/Unsigned Unterscheidung.
z.B.: 1,34342,-42,0
<? # INTEGER
$wertplatzhalter = 123; // vom Typ integer mit dem Wert 123
$wertinhalt = -42; // vom Typ integer mit dem Wert -42
$wertzahl = 0; // vom Typ integer mit dem Wert 0
?>
|
Die maximale Größe eines Integerwerten ist Plattform abhängig! (16/32/64 Bit)
float
(Numerischer Literal)
Im Unterscheid zu Integer Werten unterstüzt FLOAT Gleitpunkt Zahlen.
PHP akzeptiert als Trenner nur den Punkt. z.B.: 2.3 ; 12.345345, -0.34345
<? # FLOAT
$wertplatzhalter = 51.23; // vom Typ integer mit dem Wert 51.23
$wertinhalt = -1.42; // vom Typ integer mit dem Wert -1.42
?>
|
- Hint: Man sollte immer beachten das man Floatinpoint Operationen niemals trauen kann (Rundungsproblematik z.B. 1/3) und sie deshalb auch nicht für exakte Vergleiche (equality) einsetzen!
string
Alphanumerische Zeichenketten. In PHP sind 256 verschiedene Zeichen (ASCII) darstellbar. Unicode wird (noch?) nicht unterstüzt. Es git "keine" Größenbeschränkung (bis auf den physikalischen Speicher des Systems) für Strings.
Es gibt zwei (in PHP 4 auch drei) Möglichkeiten Strings festzulegen:
- doppelte Anführungszeichen "
z.B.: "Das ist ein String"
- einfache Anführungszeichen '
z.B.: 'Das ist ein "anderer" String'
Geprüft wird immer von Aussen beginnend.
<? # STRING
$platzhalter = "51.23";
$inhalt = "Das ist ein'neuer' Inhalt";
$neuerinhalt = '@%§$$%§ alles Bahnhof';
?>
|
boolean (seit PHP 4)
Eine Boolean Variable kann nur zwei Zustände haben:
- TRUE (Wahr)
- FALSE (Falsch)
<? # BOOLEAN
$platzhalten = TRUE; // wahr
$inhalte = FALSE; // falsch
?>
|
Eine passende Übungsaufgabe & Beispiele Nr. 2 zu den skalaren Variablentypen.
Listen / Arrays
Ein Array kann über das Sprachkonstrukt array() erstellt werden. Aber auch durch direkte Zuweisung.
Listen
Listen / Arrays kann man sich z.B. als einen Schrank mit Schubladen vorstellen. Der Schrank an sich ist meine Variable mit dem Typ Array ($schrank).
Die einzelnen Schubladen sind durchnummeriert von 0-n . Somit muss ich dem Schrank mittetilen das wenn ich den Inhalt der Schublade 4 will er mir auch diesen zurück gibt (PHP Syntax: $schrank[4]).
z.B.:
<? # LISTE
$arrayliste=array(); // anlegen eines Array (optional)
$arrayliste[]=2; // Wert hinzufügen /Position [0]
$arrayliste[]=12; // Wert hinzufügen /Position [1]
$arrayliste[4]=42; // Wert hinzufügen /Position [4]
$schrank = array("Socken","T-Shirts","Hosen"); // direkt mit array()
// Position [0]-[2]
?>
| Dazu eine passende Übungsaufgabe & Beispiele Nr. 3
Assoziative Arrays
Statt der durchnummerierten Beschriftung kann man sich auch vorstellen das man auf benamste Schubladen zugreifen möchte über diesen Schlüssel (key) findet dann die Variable Schrank den entsprechenden Inhalt (value) (PHP Syntax: $schrank["socken"]).
z.B.:
<? # Assoziatives ARRAY
$arrayliste=array(); // anlegen eines Array (optional)
$arrayasso["Schluessel"]="Wert"; // hinzufügen key: Schlüssel / value: Wert
$arrayasso["Farbe"]="rot "; // hinzufügen key: Farbe / value: rot
# das komplette Schrank Array anlegen
$schrank = array( "Unterwaesche"=>"Boxershort",
"Hosen"=>"Jeans",
"TShirts"=>"H&M",
"Hemden"=>"weisses");
?>
| Dazu eine passende Übungsaufgabe & Beispiele Nr. 3
Multidimensionale> Arrays
Selbstverständlich lassen sich die verschiedenen Arrays ineinander Schachteln (Quasi die Besteckfächer im Küchenschrank). Die Schachtelungstiefe kann beliebig sein.
z.B.:
<? # Multidimensionales ARRAY
$schrank = array( "Unterwaesche"=>array( "unterhosen"=>"Boxershort",
"Badesachen"=>"Badehose",
"Oberteil"=>"Angorahemd"
),
"Hosen"=>"Jeans",
"TShirts"=>"H&M",
"Hemden"=>array( "Anzahl"=>23,
"Durchschnittsalter"=>3,
"Groesse"=>"M"
)
);
# Arrays können auch Variablen enthalten!
$wohnung = array ("Schlafzimmer" => $schrank);
?>
|
Dazu eine passende Übungsaufgabe & Beispiele Nr. 3
- Hint: In späteren Kapiteln wird noch einmal explizit auf Arrays [Inhalte auslesen] sowie dann auch auf Arrayfunktionen zur Arraymanipulation eingegangen.
<<-- zurück -- Startseite Seminar -- vor -->>
|