SunshinePHP Developer Conference 2015

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)
strlen -- Ermitteln der String-Länge

Beschreibung
int strlen ( string $string )

Gibt die Länge der Zeichenkette string zurück.

Erklärung einer Funktionsdefinition
Teil Beschreibung
strlen Der Name der Funktion.
(PHP 4, PHP 5) strlen() gab es in allen Versionen von PHP 4 und PHP 5
int Type des Wertes, den diese Funktion zurückgibt, welche hier ein integer ist (d.h. die Länge einer Zeichenkette in Zahlen gemessen).
( string $string ) Der erste (und in diesem Fall einzige) Parameter (Argument) dieser Funktion trägt den Namen string und ist ein string.

Wir könnten die oben angegebene Funktionsdefinition auf eine allgemeine Art umschreiben:

      Rückgabetyp    Funktionsname    ( Parametertyp   Parametername )

Viele Funktionen akzeptieren mehrere Parameter, z.B. in_array(). Ihr Prototyp sieht wie folgt aus:

      bool in_array ( mixed $needle, array $haystack [, bool $strict])

Was bedeutet das? in_array() liefert einen boolean Wert zurück, TRUE im Erfolgsfall (falls needle in haystack gefunden wurde) oder FALSE im Fehlerfall (falls needle nicht in 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 ist mit strict benannt. Alle optionalen Parameter werden in [ Klammern ] dargestellt. 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.

Es gibt auch Funktionen mit komplexeren PHP Versionsangaben. Nehmen wie html_entity_decode() als Beispiel:

(PHP 4 >= 4.3.0, PHP 5)

Das heißt die Funktion ist nur in PHP Versionen ab PHP 4.3.0 verfügbar.

add a note add a note

User Contributed Notes 2 notes

up
1
ceo at l-i-e dot com
9 years ago
Another thing to watch for is the & in the argument list.

That generally means that the function is going to *CHANGE* the value you pass in, in some way, and you can't rely on it being the same as what you handed off to the function.
up
1
php dot devel at homelinkcs dot com
9 years ago
More specifically, an ampersand (&) prepended to an argument name means that the argument will be passed by reference (http://www.php.net/manual/en/language.references.pass.php).
To Top