PHP Variablen / Konstanten / Referenzen

Gepostet am Dezember 17, 2011

Theorie:

Dem Variablennamen wird ein Dollarzeichen $ vorangestellt. Ein Variablenname darf keine Leerzeichen, Satz- oder Sonderzeichen oder deutschen Umlaute wie äöüß enthalten. Eine Variable definiert man, indem man ihr einen Wert zuweist, z.B.

1
2
$a = 1;
$b = "Testtext"

Die Variablen sind nicht getypt wie in anderen (Kompiler-) Programmiersprachen; das heißt, eine Zahl wird zur Ausgabe automatisch zum String.

Praxis:

Berechnung Integer

1
2
3
4
$preis_apfel = 2.50;
$menge = 4;
$gesamtpreis = $preis_apfel * $menge;
echo $gesamtpreis;

Strings

1
2
3
4
5
6
$a = "Hallo ";
$b = "du";
echo $a.$b." typ";
echo "<p>";
echo "Das gesamtpreis ist: ".$gesamtpreis." Euro";
echo "<p>";

Datentypen

1
2
gettype ($Variable);	// Datentypen von Variablen rausfinden (in langform)
echo gettype ($Variable);

Typen-Tricks

1
2
3
4
5
6
7
8
$foo = 1/2; // $foo ist vom Typ double (0.5) 
$foo = "42"; // $foo ist string ("42") 
$foo = $foo + 42; // $foo ist integer (84) 
$foo = $foo + 'eins'; // $foo bleibt integer (84) 
$foo = $foo + '15 Birnen'; // $foo bleibt integer (99) 
$foo = $foo . ' Erbsen'; // $foo ist string ("99 Erbsen") 
$foo = $foo + 0.9; // $foo ist double (99.9) 
$foo = "$foo"; // $foo ist string ("99.9")

Die Funktion settype()

1
2
3
settype($foo, 'double'); // $foo ist double (99.9) 
settype($foo, 'integer'); // $foo ist integer (99) 
settype($foo, 'boolean'); // $foo ist boolean (true bzw. 1)

Cast-Oparator (type)

1
2
3
4
5
6
7
8
9
10
$bar = (string)$foo; // $bar ist string ("1") 
$bar = (double)$foo; // $bar ist double (1) 
$bar = (int)$foo * (int)('fünf'); // $bar ist integer (0) 
 
$bar = (array)((int)$foo + (int)'6.2 Gramm'); // $bar ist array 
echo "\n"; var_dump($bar); echo "\n"; 
 
$bar = (object)($bar[0] . ' Grad'); // $bar ist object 
$bar->strlength = strlen($bar->scalar); 
echo "\n"; var_dump($bar); echo "\n";

typeval()-Funktionen
Konvertiert einen Wert

1
2
3
4
$foo = "7";
$foo = intval($foo); // $foo ist integer (7) 
$foo = strval($foo) . ' Zwerge'; // $foo ist string ("7 Zwerge") 
$foo = doubleval($foo); // $foo ist double (7)

Variable Variablen

1
2
3
$a = "text";
$$a = "text für die ausgabe";   //Variable wird erzeugt, die als namen den String der ersten Variable trägt
echo $text;

Variablen in Klassen zu weisen

1
$this->$key = $value;

Zeichen mit Backslash entwerten (Maskieren)

1
2
3
4
5
6
7
8
9
10
11
echo 'McDonalts\'s-Esser: "Ich liebe nichts!"';
 
//Escape-Sequenzen:
 
\\ - gibt Backslash aus
\" - Doppelte Ausführungszeichen aus"
\n - Zeilenumbruch
\r - Wagenrücklauf
\t - Tabulator
 
Bsp: echo "Erste Zeile \nZweite Zeile";

Nützliches und Hilfreiches

1
2
3
4
5
6
7
8
9
10
11
isset ($Variable);  // prüft ob eine Variable existiert (Variable gesetzt)
$test = "text";
isset ($test) // ist true
 
empty ($Variable); 	// prüft ob eine Variable leer ist
$test = "";
empty ($test) // ist true
 
is_null ($Variable);
$test = null;
is_null ($test) // ist true

Referenz

1
2
3
4
5
6
7
8
9
10
11
12
//mehrere Variablen auf einen Wert in Hauptspeicher verweisen mit &
 
$a = "Eine Variable";
$b =& $a;
$a = "Geänderte Variable";
echo $b; 					// Ausgabe "Geänderte Variable"
 
//Beispiel:
for($i = 1; $i <= $lines; $i++) {
    $var_name = 'c' . $i;
    $help= $$var_name;                   //erhalte hier den einen String, nämlich $c1 usw.        
}

Konstanten

1
2
3
4
5
6
7
8
//Konstanten besitzen kein $ Zeichen
//Konstaten gelten automatisch im ganzen Skript
 
define ("Konstante", "Wert");
echo Konstante;
echo constant ("Konstante");
 
defined(Konstante); //prüft ob eine Konstante existiert (liefert true oder false)

Alle Variablen ausgeben

1
print_r(get_defined_vars());

Tags: , , , ,

Leave a Reply

 

Posts of Current Category



Facebook: