Dynamische Webseiten mit PHP

Datentypen und Operatoren

Datentypen

Variable
Achtung bei reservierten Wörtern. Worte, die in PHP eine Bedeutung haben, wie if oder include sollten auf keinen Fall als Variablennamen verwendet werden. Vermeiden Sie unbedingt Umlaute und Sonder- oder Leerzeichen in Variablennamen. Aussnahme ist der Unterstrich (z.B. $name_dozent).
Wählen Sie Variablennamen möglichst "sprechend" um Übersicht über den Code zu behalten. Verwirren Sie sich nicht selbst durch kryptische oder missverständliche Variablennamen. So könnte eine Variable z.B. $kunde_nachname heissen.

Variablen beginnen immer mit einem $ (nicht vergessen!)

$x = $y + 5;

Zeichenketten

Zusammenhängen:

$var = $var.“aaa“;

oder

$var .= „aaa“

;

Mischungen:
Datentypen müssen in PHP nicht wie in anderen Sprachen explizit festgelegt werden.
Der Operator entscheidet über den Datentyp

$a = 10;
$b = 25;
$c = ”5“;

OperationErgebnis

$a + $b

35 (Zahl)

$a + $c

15 (Zahl)

$a.$c

105 (String)

$a.$b

1025 (String)

Konstanten:
Die Definition von Konstanten erfolgt mit folgendem Mechanismus: define(„Name der Konstanten“,“Wert“);

define(„MWST“,“0,16“);
$brutto = $netto + $netto * MWST;

Dynamische Variable

<?
$variable = "Vorname"; # Variable in der der Variablenname gespeichert wird
$$variable = "Lukas"; # Belegen der dynamischen Variable

echo "<br>";
echo $Vorname; #=>> Lukas
echo "<br>";
echo $variable; #=>> Vorname
echo "<br>";
echo $$variable; #=>> Lukas

?>


Operatoren

Wertzuweisung:

$var = 100;
$var = „Halli, hallo, hallöle“;>

Berechnungen:

$a = $a+$b;
$a += $b;
+= -= *= /=

$a = 5;
$b = ++$a;
echo $b; => 6

$a = 5;
$b = $a++;
echo $b; => 5
auch --

Ausgabe:

$var = "neun Euro";
echo $var; => neun Euro
(Normales Zusammensetzen von Text)
echo „Das ist der Preis:“.$var; => Das ist der Preis: neun Euro
(Bei der Angabe in Hochkommatas (, ... ‘) wird der Name also $var ausgegeben.)
echo „Das ist der Preis: $var“; => Das ist der Preis: neun Euro
echo ,Das ist der Preis: $var‘; => Das ist der Preis: $var
(Hochkommata als Teil des Strings)
echo „Das ist der Preis: ,$var‘“; => Das ist der Preis: 'neun Euro'


Gültigkeitsbereich von Variablen

$a = 5;
function name() {
echo $a; => $a ist nicht bekannt
}

$a = 5;
function name() {
global $a;
echo $a; => jetzt ist $a bekannt
}

Superglobale Variable gibt es auch wie: $_SESSION etc.

Testen von Variablen

isset($var)

Diese Funktion liefert TRUE, wenn die Variable oder das Array-Element var existiert, sonst FALSE.

empty($var)

Diese Funktion liefert TRUE, wenn eine Variable nicht definiert, leer oder gleich 0 ist, ansonsten FALSE.


Seiten zusammensetzen

Wie mit Bausteinen können HTML-Seiten mit PHP zusammengesetzt werden.

Sehr nützlich für

  • Kopf- und Fußzeilen
  • immer wiederkehrende Elemente in einer Seite (Navigation)
  • zentrales Ansprechen der Datenbank (config.php)

INCLUDE

Hier wird der Code erst zusammengesetzt und dann alles interpretiert. Daher funktioniert include auch in Schleifen.

include(„URL“);

REQUIRE

Alternative zu include. Der require Block wird erst interpretiert und dann eingesetzt. Require ist also in Schleifen nicht zu verwenden.

require(„URL“);


Stringvariable

Strings sind intern Zeichenarrays.

  • $laenge = strlen($str); Länge

Strings umwandeln

  • $str = strrev($str); invertiert Zeichenkette
  • strtolower($str) / strtoupper($str) Wandelt in Groß- bzw. Kleinbuchstaben
  • $str = ucfirst($str); erstes Zeichen wird groß
  • $str = ucwords($str); erstes Zeichen jeden Wortes wird groß

Strings teilen

  • $arr = explode($seperator, $str); Teilt Zeichenkette anhand von Trenner

$str = „Diese Zeichenkette soll zerteilt werden.“;
$arr = explode(„ „, $str);
foreach($arr as $elem) {
echo „$elem<br>“;
}

Ausgabe:
Diese
Zeichenkette
soll
zerteilt
werden

  • $str = implode($seperator, $arr); Verbidet das Array wieder mit Seperator

$str = „Diese Zeichenkette soll zerteilt werden.“;
$arr = explode(„ „, $str);
$str = implode(„:“, $arr);
echo $str;

Ausgabe: Diese:Zeichenkette:soll:zerteilt:werden

Zeichen ersetzen

  • $str = ltrim($str); entfernt führende Leerzeichen
  • $str = trim($str); entfernt Leerzeichen vorn und hinten
  • $str = strtr($str, $from, $to); Ersetzt einzelne Zeichen
  • $str = str_replace($suchen, $ersetzen, $str); Ersetzt Strings in Strings

Suchen

  • $erg = strcmp($str1,$str2); Vergleicht zwei Strings. Wenn $str1<$str2 dann 1, sonst -1. Bei Gleichheit 0.
  • $erg = strcasecmp($str1,$str2); aber case-sensitive
  • $str = strpos($str, $such, $offset); Erstes Auftreten eines Strings ab offset
  • $erg = strrpos($str, $char); Letztes Auftreten eines Zeichens

Teilen

  • $str = substr($str, $start, $length); Substring

Zeichen/Strings ausgeben

  • $erg = chr(n); ASCII-Zeichen n
  • echo $a; Ausgabe
  • print($var); Ausgabe
  • printf(„%s“, $var); Formatierte Ausgabe
  • print_r($arr); Gibt bei einem Array alle Felder aus

HTML/URL Umwandlung

  • $str = nl2br($str); Wandelt Zeilenumbrüche in <br>
  • $satz = "Schöne Grüße aus Lüneburg.";
    echo htmlentities($satz);
    Ausgabe: Sch&ouml;ne Gr&uuml;&szlig;e aus L&uuml;neburg.
    (Funktioniert aber nur wenn als Zeichensatz im Editor Latin-1 eingestellt ist.)
  • rawurlencode($str): Konvertiert als URL
  • rawurldecode($str): Konvertiert URL zurück