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 -->>
|