PHP

Für weitere Informationen besuchen Sie: php.net

PHP ist eine Open-Source serverseitig interpretierte Script-Sprache, die hauptsächlich zur Umsetzung von dynamischen Webseiten oder Webanwendungen verwendet wird. Zu den Stärken von PHP zählen vor allem die leichte Erlernbarkeit, die Unterstützung von Datenbanken und die zahlreich existierenden Zusatzfunktionsbibliotheken.

Verarbeitung von PHP-Code

PHP-Skripte werden serverseitig interpretiert, d.h.:

  1. Zu allererste, fordert der Client über das Internet eine PHP Datei an
  2. Nachdem die Anfrage zum Server geleitet wurde, lädt der Webserver die angeforderte PHP-Datei (z.B. index.php) von der Festplatte.
  3. Der Webserver analysiert nun, was für eine Dateiendung die geladene Datei besitzt. Da die Dateiendung .php ist, wird die Datei an den PHP-Interpreter übergeben.

Normale HTML-Dateien, Bilder und Dokumente (z.B. PDF-Dateien) würden einfach alle weiteren Schritte bis zu Nr. 6 überspringen.

  1. Der PHP-Interpreter interpretiert den Quelltext der geladenen Datei (z.B. index.php) und erzeugt eine entsprechende Datei mit einem bestimmten Format - meist HTML, allerdings können von PHP auch andere Dateien wie Grafiken oder PDF-Dateien generiert werden.
  2. Der erzeugte Code (z.B. HTML-Code) wird nun vom PHP-Interpreter an den Browser zurückgegeben. Nun sendet der Webserver eine Antwort mit dem entsprechenden Quellcode der Seite an den Browser des Benutzers zurück

Client/Server

Ein Server ist ein Programm, das mit einem anderen Programm kommuniziert, dem Client. Dabei verschafft der Server dem Client Zugang zu einem Dienst. Hierbei muss abgrenzend beachtet werden, dass es sich bei «Server» um eine Rolle handelt, nicht um einen Computer an sich. Ein Computer kann dementsprechend ein Server und Client zugleich sein.

Ein Client kann einen Dienst bei einem Server anfordern, welcher diesen Dienst bereitstellt.

Der Client und Server müssen keine getrennten Hardware-Systeme sein, sondern können auf dem gleichen Rechner installiert werden. Dabei besteht der Client aus dem Browser und der Server aus einem Webserver.

HTTP

Wikipedia

Aufbau URL

Teil Bezeichnung
http:// Protokoll
wigger.one Domain
index.html Dateipfad
?q=Suchbegriff&page=1 Query-String/Parameter
#treffer-5 Anker

Aufbau eines HTTP-Requests

Ein HTTP-Request besteht aus einem Header und einem Body. Im Header werden Informationen wie die HTTP-Methode (POST) oder die zu ladende Datei definiert. Es können auch weitere Details zum Inhalt des Requests angegeben werden (beispielsweise ein Content-Type).

Im Body eines HTTP-Requests können Daten an den Server mitgesendet werden. Die Daten werden hier im gleichen Query-String-Format übergeben, wie man sie auch direkt in der URL übergeben kann.

Einbettung von PHP

Das einbetten von PHP geschieht durch den PHP-Tag <?php ...Code... ?>. In diesem stehen die PHP-Anweisungen. In einem PHP-File kann mehrmals zwischen HTML und PHP gewechselt werden.

<!DOCTYPE html>
<html lang="de">

<head>
	<meta charset="UTF-8">
	<meta http-equiv="X-UA-Compatible" content="IE=edge">
	<meta name="viewport" content="width=device-width, initial-scale=1.0">
	<title>PHP mit HTML und CSS</title>
	<link rel="stylesheet" href="style.css">å
</head>

<body>
	<p>Hier ist HTML<p>

	<?php
		echo "Hier ist PHP";
	?>
</body>

</html>

Kommentare

Einzeilige Kommentare können in PHP mit // erstellt werden.

Mehrzeilige Kommentare werden mit /**/ erstellt.

Escape-Squenzen:

Sequenz Bedeutung
\n Zeilenumbruch (LF or 0x0A (10) in ASCII)
\r Wagenrücklauf (CR or 0x0D (13) in ASCII)
\t horizontaler Tabulator (HT or 0x09 (9) in ASCII)
\v vertikaler Tabulator (VT or 0x0B (11) in ASCII)
\e Escape-Zeichen (ESC or 0x1B (27) in ASCII)
\f Seitenvorschub (FF or 0x0C (12) in ASCII)
\\ Backslash (Rückstrich)
\$ Dollar-Zeichen
\" doppeltes Anführungszeichen

Variablen & Datentypen

Als “Container” von Informationen in Programmen dienen Variablen. PHP unterstützt folgende Datentypen:

Type Description
array An array stores multiple values in one single variable. Die Werte können über die Indexnummer abgerufen werden, welche bei 0 anfängt.
bool True or False
float Fliesskommazahlen
int Ganzzahlen
string Zeichenkette
mixed The value can be any value.

Der Datentyp muss nicht festgelegt werden sondern wird durch PHP festgelegt. Die Variable muss auch nicht wie in anderen Sprachen vorher deklariert werden. Auch kann eine Variable während des Programms den Datentypen wechseln.

Regeln

  • Variablen beginnen mit einem “$”.
  • Sie dürfen keine Leerzeichen.
  • Buchstaben und Ziffern sind erlaubt, jedoch muss das erste Zeichen ein Buchstaben sein. Gross- und Kleinbuchstaben sind erlaubt, zwischen diesen wird jedoch unterschieden (Case-Sensitiv!!!!)
  • Keine sprachspezifische Sonderzeichen enthalten wie umlaute oder ein scharfes S
  • Unterstriche sind erlaubt
  • Darf nicht gleich wie ein PHP-Befehl sein.

Tipp

Variablen-Namen sollten selbsterklärend sein. Dies erhöht die Wartbarkeit des Codes.

Rechenoperatoren

Operator Bedeutung
+ Addition
- Subtraktion
* Multiplikation
/ Division
% Modulo
** Potenzieren

Formatierung von Zahlen

mit number_format() bzw. sprintf() können Zahlen automatisch formatiert werden.

Parameters number_format()

num

Die Nummer, die formatiert wird.

decimals

Legt die Anzahl der Dezimalziffern fest. Bei “0” wird der “Dezimaltrenner” im Rückgabewert weggelassen.

decimal_separator

Legt das Trennzeichen für das Dezimalkomma fest.

thousands_separator

Legt das Tausendertrennzeichen fest.

Syntax

number_format($number, 2','' ');

Single-Quotes & Double-Quotes

Mit single quotes:

Variablen und Escape-Sequenzen für Sonderzeichen werden nicht ausgewertet

z.B.:

echo 'Variables do not $expand $either';

Output:

Variables do not $expand $either

Mit double-quotes:

Das wichtigste Merkmal von Strings in doppelten Anführungszeichen ist die Tatsache, dass Variablennamen ausgewertet werden.

z.B.:

$a = 10;
echo "a is $a";

Output :

a is 10

Konstanten

Konstanten dienen zur Speicherung von unveränderlichen Werten. Bei der Deklaration eines wertes muss im vergleich zu einer Variable kein “$” gesetzt werden.

const PI = 3.1415926;

Referenz

Mit Referenzen kann man Variablen über einen weiteren Namen aufrufen.

$age = 18;
echo "$age <br>";

$ref = &$age;
$ref++;
echo $ref;

Referenzen werden mit einer “&” Operator initiiert. Der Syntax ist wie im Oberen Beispiel wie folgt: &$variable

Zeichenketten

Eine Aneinanderreihung von Zeichen (ABC…) wird string genannt. Mit dem Punkt . Operator können sowohl Zahlen sowie Zeichenketten miteinander verketten/verknüpfen. Falls eine Berechnung stattfindet sollte diese in Klammern gesetzt werden. Diese Berechnung wird dann vor der eigentlichen Verkettung ausgeführt. Um die Verkettung zu verlängern kann Mann den .=. Operator benutzen.

Verzweigungen

Normalerweise wird der PHP-Code sequentiell abgearbeitet. Ein Programm ist jedoch auch in der Lage auf Anweisungen zu reagieren. Eine Anweisung wird nur dann ausgeführt falls eine bestimmte Bedingung zutrifft. Dies kann beispielsweise mit Vergleichsoperatoren geschehen. Es können auch mehrere Bedingungen erstellt werden wo dass Programm auswählen muss welches der Bedingungen zutrifft. Dies nennt man dann Verzweigungen.

Vergleichsoperator

Example Name Result
$a == $b Equal true if $a is equal to $b after type juggling.
$a === $b Identical true if $a is equal to $b, and they are of the same type.
$a != $b Not equal true if $a is not equal to $b after type juggling.
$a <> $b Not equal true if $a is not equal to $b after type juggling.
$a !== $b Not identical true if $a is not equal to $b, or they are not of the same type.
$a < $b Less than true if $a is strictly less than $b.
$a > $b Greater than true if $a is strictly greater than $b.
$a <= $b Less than or equal to true if $a is less than or equal to $b.
$a >= $b Greater than or equal to true if $a is greater than or equal to $b.
$a <=> $b Spaceship An int less than, equal to, or greater than zero when $a is less than, equal to, or greater than $b, respectively.

Schlaufen, if/else, Switch, etc…

IF/Else

elseif, wie der Name schon sagt, ist eine Kombination aus if und else. Wie else erweitert es eine if-Kontrollstruktur, um alternative Befehle auszuführen, wenn die ursprüngliche if-Bedingung nicht zutrifft. Im Gegensatz zu else werden die Alternativ-Befehle aber nur ausgeführt, wenn die elseif-Bedingung zutrifft.

if ($a > $b) {
    echo "a ist größer als b";
} elseif ($a == $b) {
    echo "a ist gleich groß wie b";
} else {
    echo "a ist kleiner als b";
}

switch-case

Die switch-Anweisung entspricht in etwa einer Folge von if-Anweisungen die jeweils den gleichen Ausdruck prüfen. Es kommt oft vor, dass man dieselbe Variable (oder denselben Ausdruck) gegen viele verschiedene mögliche Werte prüfen und abhängig davon unterschiedlichen Code ausführen möchte.

switch ($i) {
    case 0:
        echo "i ist gleich 0";
        break;
    case 1:
        echo "i ist gleich 1";
        break;
    case 2:
        echo "i ist gleich 2";
        break;
    default:
       echo "i ist nicht gleich 0, 1 oder 2";
}

while

Die Bedeutung einer while-Schleife ist simpel. Die Schleife weist PHP an, die untergeordnete(n) Anweisung(en) wiederholt auszuführen, solange die while-Bedingung zutrifft. Die Bedingung wird jedes Mal am Anfang der Schleife überprüft, Das bedeutet, dass die Ausführung der untergeordneten Anweisungen nicht stoppt, auch wenn sich der Wahrheitsgehalt der Bedingung zwischendurch ändert (jedes Mal, wenn PHP die Anweisungen ausführt, handelt es sich um eine Runde). Wenn die while-Bedingung von Anfang an nicht zutrifft, werden die untergeordneten Anweisung nicht ein einziges Mal ausgeführt.

while(bedingung = true) {
	anweisung;
}

$i = 1;
while ($i <= 10) {
    echo "$i++ <br>";
}

do…while

do-while-Schleifen sind sehr ähnlich zu while-Schleifen, außer dass der Wahrheitsausdruck erst am Ende eines jeden Durchlaufs statt zu dessen Beginn geprüft wird.

do {
	anweisung;
}while(bedingung = true)

$i = 0;
do {
    echo "$i <br>";
} while ($i > 0);

for

for ($i = 1; $i <= 10; $i++) {
    echo "$i <br>";
}

foreach

Das foreach-Konstrukt bietet eine einfache Möglichkeit über Arrays zu iterieren. foreach arbeitet nur mit Arrays und Objekten zusammen und gibt beim Versuch es mit einer Variablen mit einem anderen Datentypen oder einer nicht initialisierten Variablen zu benutzen einen Fehler aus.

$arr = array(1, 2, 3, 4);
foreach ($arr as &$value) {
    $value = $value * 2;
}

continue

continue wird innerhalb von Schleifen verwendet, um den Rest des aktuellen Schleifendurchlaufs abzubrechen und mit der Auswertung der nächsten Bedingung fortzufahren, um dann den nächsten Durchlauf zu beginnen.

$arr = array(1, 2, 3);
foreach($arr as $number) {
  if($number == 2) {
    continue;
  }
  print $number;
}
echo "Muhahah die unglückszahl wurde ausgegeben 🤘"

return

return gibt die Programmsteuerung an das aufrufende Modul (z.B. eine Funktion) zurück. Die Ausführung wird mit dem Ausdruck fortgesetzt, der dem Aufruf des aufrufenden Moduls folgt.

function square($num)
{
    return $num * $num;
}
echo square(4);       // outputs '16'.

include

Dateien werden unter dem angegebenen Pfad gesucht oder, wenn keiner gegeben ist, im include_path. Wenn die Datei auch im include_path nicht gefunden werden kann, sucht include noch im Verzeichnis der aufrufenden Datei und im aktuellen Arbeitsverzeichnis. Wenn keine Datei gefunden wurde, erzeugt include einen Fehler der Stufe E_WARNING; im Gegensatz dazu erzeugt require in diesem Fall einen Fehler der Stufe E_ERROR.

include 'vars.php';

goto

Der goto-Operator kann benutzt werden, um innerhalb eines Programs zu einer anderen Anweisung zu springen. Die Zielanweisung wird durch einen Zielnamen festgelegt, bei dem die Groß- und Kleinschreibung beachtet werden muss, gefolgt von einem Doppelpunkt, und der goto-Anweisung wird der entsprechende Zielname angefügt. Hierbei handelt es sich jedoch nicht um ein vollständig uneingeschränktes goto: Die Zielanweisung muss in der selben Datei und im selben Kontext liegen, d. h. dass weder aus einer Funktion oder Methode herausgesprungen werden kann, noch in sie hineingesprungen.

goto a;
echo 'Foo';

a:
echo 'Bar';

// Beispiel mit Schlaufe

for ($i=0, $j=50; $i<100; $i++) {
  while ($j--) {
    if ($j==17) goto end;
  }
}
echo "i = $i";
end:
echo 'j hit 17';

match

Der Vergleichsausdruck verzweigt die Auswertung auf der Grundlage einer Identitätsprüfung eines Wertes. Ähnlich wie eine switch-Anweisung hat ein match-Ausdruck einen Subjekt-Ausdruck, der mit mehreren Alternativen verglichen wird. Im Gegensatz zu switch wird er ähnlich wie ternäre Ausdrücke auf einen Wert ausgewertet.

$food = 'cake';

$return_value = match ($food) {
    'apple' => 'This food is an apple',
    'bar' => 'This food is a bar',
    'cake' => 'This food is a cake',
};

var_dump($return_value);

//Output
//string(19) "This food is a cake"

oder...

$würfel = 4

echo match($würfel) {
	1 => "Eins",
	2 => "Zwei",
	3 => "Drei",
	4 => "Vier",
	5 => "Fünf",
	6 => "Sechs",
	default => "Kein würfelwert"
};

declare

Das declare-Konstrukt wird verwendet, um Ausführungsdirektiven für einen Codeblock festzulegen. Die Syntax von declare ist ähnlich wie die Syntax anderer Ablauf-Kontrollstrukturen:

declare (directive)
    statement(s)
declare(encoding='ISO-8859-1');

Operatoren

Operatoren Bedeutung
= equal to
+= Union
== Equality
=== Identity
!= Inequality
<> Inequality between two values
!== Non-identity
&/&& and
^ xor
! Not
" "
"
.= Hängt einen String an einen anderen an und weisst den Wert einer Variable hinzu
?: Falls das = >dann das. Sonst das

Incrwementing/Decrementing Operator

Incrementing/Decrementing Operator Bedeutung
++$a PreIncrement
$a++ PostIncrement
–$a PreDecrement
$a– Postdecrement

Arrays

Ein Array ist in PHP in Wirklichkeit eine geordnete Map (Abbildung). Eine Map ist ein Typ, der Werte zu Schlüsseln zuordnet. Dieser Typ ist für einige verschiedene Nutzungsarten optimiert.

Assoziative Arrays

Bei Assoziative Arrays wird der Schlüssel (bei normalen Arrays beginnt der Index bei 0) angegeben. Der Schlüssel dient dabei als Wert mit dem den darin gespeicherte Wert abgerufen werden kann. Die Informationen können in einem Informationspaar abgespeichert werden. Der Schlüsel kann frei gewählt werden.

Indexwert wird mit “=>” zugewiesen. Dabei ist der erste Wert der Schlüssel. Der Zweite Wert ist der Wert des Schlüssels.

Syntax

// Array
$arr = array(1, 2, 3, 4, 5, 6, 7, 8, 9,10);

oder...

$arr = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];

// Assoziative Arrays

$arr = array("H" => "Hamburg", "B" => "Berlin", "S" => "Stuttgart");

oder...

$arr = ["H" => "Hamburg", "B" => "Berlin", "S" => "Stuttgart"];

Um einen Wert in einem Array zu ändern/hinzuzufügen, können Sie entweder den Index oder den Schlüssels benutzen.

// Arrays ändern

/* Infiziert */
$staedte[1] = "Paris";
/* Assoziativ */
$staedte["Frankreich"] = "Paris";

Mit unset() können Sie einen Eintrag aus einem Array löschen.

// Arrays löschen

/* Infiziert */
unset($staedte[1])
/* Assoziativ */
unset($staedte["Frankreich"])

Arrays können einfach erweitert werden, indem Sie einen neunen Wert zugewiesen bekommen. Entweder mit Schlüssel oder ohne.

// Arrays errweitern

/* Infiziert */
$arr [] = "Frankfurt";
/* Assoziativ */
$arr ["F"] = "Frankfurt";

Funktionen

In PHP gibt es zahlreiche vordefinierte Funktionen. Einen guten überblick erhalten Sie hier: https://www.php.net/manual/de/

date()

date — Formatiert einen Unix-Zeitstempel

Gibt einen formatierten String anhand eines vorzugebenden Musters zurück. Dabei wird entweder der angegebene Unix-Zeitstempel timestamp verwendet oder die gegenwärtige Zeit, wenn kein Zeitstempel angegegeben wird. Mit anderen Worten ausgedrückt: Der Parameter timestamp ist optional und wird mit dem Wert der Funktion time() vorbelegt.

format-Zeichen Beschreibung Beispiel für zurückgegebene Werte
Tag
d Tag des Monats; zwei Ziffern mit vorangestellter Null 01 bis 31
D Textuelle Darstellung eines Tages; drei Buchstaben Mon bis Sun
j Tag des Monats; zwei Ziffern ohne vorangestellte Null 1 bis 31
l (kleines ‘L’) Vollständige textuelle Darstellung eines Tages Sunday bis Saturday
N Numerische Darstellung eines Wochentags gemäß ISO-8601 1 (für Montag) bis 7 (für Sonntag)
S Englisches Ordnungssuffix für den Tag des Monats; zwei Buchstaben st, nd, rd oder th; funktioniert gut mit j
w Numerische Darstellung eines Wochentags 0 (für Sonntag) bis 6 (für Samstag)
z Tag des Jahres (beginnend bei 0) 0 bis 365
Woche
W Wochennummer eines Jahres gemäß ISO-8601; die Wochen beginnen am Montag Beispiel: 42 (die 42. Woche des Jahres)
Monat
F Vollständige textuelle Darstellung eines Monats, z.B. January oder March January bis December
m Numerische Darstellung eines Monats; mit vorangestellter Null 01 bis 12
M Kurze textuelle Darstellung eines Monats; drei Buchstaben Jan bis Dec
n Numerische Darstellung eines Monats; ohne vorangestellte Null 1 bis 12
t Anzahl der Tage des angegebenen Monats 28 bis 31
Jahr
L Gibt an, ob es ein Schaltjahr ist 1 wenn es ein Schaltjahr ist, andernfalls 0
o Jahreszahl gemäß ISO 8601-Wochennummer. Dies hat den gleichen Wert wie Y, außer wenn die ISO-Wochennummer (W) zum vorherigen oder nächsten Jahr gehört; dann wird stattdessen das Jahr dieser Woche verwendet. Beispiele: 1999 oder 2003
X Erweiterte vollständige numerische Darstellung einer Jahreszahl, mindestens 4-stellig, mit - für Jahre vor Christus und + für Jahre nach Christus. Beispiele: -0055, +0787, +1999, +10191
x Erweiterte vollständige numerische Darstellung einer Jahreszahl, falls erforderlich, oder standardmäßige vollständige numerische Darstellung, falls möglich (wie Y). Mindestens vier Ziffern. Jahren vor Christi Geburt wird ein - vorangestellt. Jahreszahlen über (und einschließlich) 10000 werden mit einem + eingeleitet. Beispiele: -0055, 0787, 1999, +10191
Y Vollständige numerische Darstellung einer Jahreszahl; mindestens vier Ziffern, mit - für die Jahre vor Christus Beispiele: -0055, 0787, 1999, 2003, 10191
y Darstellung einer Jahreszahl; zwei Ziffern Beispiele: 99 oder 03
Zeit
a Ante meridiem und Post meridiem in Kleinbuchstaben am oder pm
A Ante meridiem und Post meridiem in Großbuchstaben AM oder PM
B Swatch-Internetzeit 000 bis 999
g Stunde im 12-Stunden-Format; ohne vorangestellte Null 1 bis 12
G Stunde im 24-Stunden-Format; ohne vorangestellte Null 0 bis 23
h Stunde im 12-Stunden-Format; mit vorangestellter Null 01 bis 12
H Stunde im 24-Stunden-Format; mit vorangestellter Null 00 bis 23
i Minuten; mit vorangestellter Null 00 bis 59
s Sekunden; mit vorangestellter Null 00 bis 59
u Mikrosekunden. Es ist zu beachten, dass die Funktion date() immer 000000 ausgibt, weil sie einen Parameter vom Typ int erwartet, während DateTime::format() Mikrosekunden unterstützt, wenn DateTime mit Mikrosekunden erstellt wurde. Beispiel: 654321
v Millisekunden. Es gilt der gleiche Hinweis wie für u. Beispiel: 654
Zeitzone
e Bezeichner der Zeitzone Beispiele: UTC, GMT, Atlantic/Azores
I (großes i) Gibt an, ob das Datum in der Sommerzeit liegt oder nicht 1 für Sommerzeit, andernfalls 0
O Differenz zur Greenwich-Zeit (GMT); ohne Doppelpunkt zwischen Stunden und Minuten Beispiel: +0200
P Differenz zur Greenwich-Zeit (GMT); mit Doppelpunkt zwischen Stunden und Minuten Beispiel: +02:00
p Dasselbe wie P, gibt aber Z zurück anstelle von +00:00 (verfügbar seit PHP 8.0.0) Beispiel: +02:00
T Zeitzonenkürzel, falls bekannt; andernfalls die Abweichung von der GMT Beispiele: EST, MDT, +05
Z Zeitverschiebung in Sekunden. Der Wert ist für Zeitzonen westlich von der UTC immer negativ und für die Zeitzonen östlich von der UTC immer positiv. -43200 bis 50400
Datum und Uhrzeit vollständig
c Datum gemäß ISO 8601 2004-02-12T15:19:21+00:00
r Datum im Format » RFC 2822/» RFC 5322 Beispiel: Thu, 21 Dec 2000 16:01:07 +0200
U Sekunden seit der Unix-Epoche (1. Januar 1970 00:00:00 GMT) Siehe auch time()

Parameter-Liste

format

Von DateTimeInterface::format() akzeptiertes Format.

timestamp

Der optionale Parameter timestamp ist ein Unix-Timestamp als int oder die aktuelle lokale Zeit, wenn timestamp nicht übergeben wurde oder null ist. Er entspricht dann also dem Ergebnis der Funktion time().

// Die Standard-Zeitzone setzen, die verwendet werden soll.
date_default_timezone_set('UTC');

// Gibt etwas aus wie: Monday
echo date("l");

// Gibt etwas aus wie: Monday 8th of August 2005 03:12:46 PM
echo date('l jS \of F Y h:i:s A');

// Gibt aus: July 1, 2000 ist ein Saturday
echo "July 1, 2000 ist ein " . date("l", mktime(0, 0, 0, 7, 1, 2000));

/* Verwende die Konstanten im Format-Parameter */
// Gibt etwas aus wie: Wed, 25 Sep 2013 15:28:57 -0700
echo date(DATE_RFC822);

// Gibt etwas aus wie: 2000-07-01T00:00:00+00:00
echo date(DATE_ATOM, mktime(0, 0, 0, 7, 1, 2000));

time()

time — Liefert den aktuellen Unix-Zeitstempel

echo 'Jetzt: '. time();

mktime()

mktime — Liefert den Unix-Zeitstempel für ein Datum


 mktime(
    int $hour,
    ?int $minute = null,
    ?int $second = null,
    ?int $month = null,
    ?int $day = null,
    ?int $year = null
)

//Gibt etwas aus wie: 2006-04-05T01:02:03+00:00
echo date('c'mktime(123452006));

explode()

explode — Teilt eine Zeichenkette anhand einer Zeichenkette

explode(string `$separator`, string `$string`)

mail()

mail — Sendet eine E-Mail

mail(  
    string `$to`,  
    string `$subject`,  
    string `$message`,  
    array|string `$additional_headers` = [],  
    string `$additional_params` = ""  
)

Benutzerdefinierte Funktionen

Eine Funktion kann wie folgt definiert werden:

function foo($arg_1, $arg_2, ..., $arg_n)
{
    echo "Beispielfunktion.\n";
    return $retval;
}

Jeder beliebige korrekte PHP-Code kann in einer Funktion vorkommen, sogar andere Funktionen und Klassen-Definitionen.

Funktionen diene als Behälter von Anweisungen welche im Programm aufgerufen werden können. So müssen nicht Anweisungen doppelt im Programm benutzt werden. Ausserdem erleichtern Funktionen die Bearbeitung und verhindern Fehler welche durch wiederholende Codezeilen auftreten.

Formulare

Eingabeformular

Mit dem Eingabeformular kann dass Formular an PHP übergeben werden.

Durch das Attribut “action” wird die wird eine PHP-Datei angegeben welche das Formular verarbeitet. Mit dem Attribut “method” kann man entweder POST oder GET als Übertragungsmethode auswählen.

<!DOCTYPE html>
<html lang="de">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Formular</title>
</head>

<body>
    <h1>Formular</h1>
    <form action="formular.php" method="post">
        <input type="text" name="text"><br><br>
        <input type="submit">
        <input type="reset">
    </form>
</body>

</html>

PHP-Verarbeitung

Mit $_POST["name"] oder $_GET["text"] können die Daten welche in Inputfeldern eingegeben worden sind, abgerufen werden.

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        span {
            color: red;
        }
    </style>
</head>
<body>
    <?php

        $text = $_POST["text"];
        echo "Hier ist der Text der eingegeben wurde: <br>";
        echo "<span>$text<span>";

    ?>
</body>
</html>
echo "<tr>"
	echo "<td>Zeile</td>"
	echo "<td style='text-align: right;'>$i</td>"
echo "/<tr>"