Wie man eine Funktionsdefinition (Prototyp) liest
Jede Funktion im Handbuch ist für schnelles Nachschlagen dokumentiert. Zu wissen, wie man diesen Text liest und versteht, wird es viel einfacher machen, PHP zu lernen. Statt sich auf Beispiele und Auschneiden und Einfügen zu verlassen sollte jeder wissen, wie man eine Funktionsdefinition (Prototyp) liest. Lassen Sie uns anfangen:
Hinweis: Voraussetzung: Grundlegendes Verständnis der Typen
Obwohl PHP eine schwach typisierte Sprache ist, ist es wichtig, ein grundlegendes Verständnis von Typen zu besitzen, da sie eine wichtige Bedeutung haben.
Funktionsdefinitionen sagen uns, welcher Typ von Werten zurückgegeben wird. Lassen Sie uns die Definition von strlen() als unser erstes Beispiel nehmen:
strlen (PHP 4, PHP 5, PHP 7) strlen -- Ermitteln der String-Länge Beschreibung strlen ( string $string ) : int Gibt die Länge der übergebenen Zeichenkette zurück.
Teil | Beschreibung |
---|---|
strlen | Der Name der Funktion. |
(PHP 4, PHP 5, PHP 7) | strlen() gab es in allen Versionen von PHP 4, 5 und PHP 7 |
( string $string ) |
Der erste (und in diesem Fall einzige) Parameter (Argument) dieser
Funktion trägt den Namen string und ist ein
String.
|
int | Type des Wertes, den diese Funktion zurückgibt, welche hier ein int ist (d.h. die Länge einer Zeichenkette in Zahlen gemessen). |
Wir könnten die oben angegebene Funktionsdefinition auf eine allgemeine Art umschreiben:
Funktionsname ( Parametertyp Parametername ) : Rückgabetyp
Viele Funktionen akzeptieren mehrere Parameter, z. B. in_array(). Ihr Prototyp sieht wie folgt aus:
in_array ( mixed $needle, array $haystack , bool $strict = false ) : bool
Was bedeutet das? in_array() liefert einen
boolean-Wert zurück, true
im Erfolgsfall (falls needle
in
haystack
gefunden wurde)Bei einem Fehler wird false
zurückgegeben.
haystack
gefunden wurde). Der erste Parameter heißt
needle
und kann viele verschiedene
Typen annehmen, weshalb wir ihn
"mixed" nennen. Diese mixed
needle
(wonach wir suchen) kann entweder ein
skalarer Wert sein (string, integer oder
float) oder ein
array.
haystack
(das Array das wir durchsuchen) ist der
zweite Parameter. Der dritte, optionale Parameter wird
strict
genannt. Alle optionalen Parameter haben
Standardwerte; Wenn der Standardwert unbekannt ist, wird er als
?
angezeigt. Das Handbuch erklärt, dass der Parameter
strict
den Standardwert false
hat. Schauen Sie auf
die Handbuchseite der jeweiligen Funktion, um nachzulesen, wie sie
funktionieren.
Zusätzlich erlaubt das & (Kaufmanns-Und) Symbol, das einem Funktionsparameter vorangestellt wird, den Parameter als Referenz zu übergeben, wie hier zu sehen:
preg_match ( string $pattern , string $subject , array &$matches = null, int $flags = 0 , int $offset = 0 ) : int|false
Diesem Beispiel kann entnommen werden, dass der dritte optionale Parameter
&$matches
als Referenz übergeben wird.
Es gibt auch Funktionen mit komplexeren PHP Versionsangaben. Nehmen wir html_entity_decode() als Beispiel:
(PHP 4 >= 4.3.0, PHP 5, PHP 7)
Das heißt, die Funktion ist nur in PHP Versionen ab PHP 4.3.0 verfügbar.