Cum se citește definiția unei funcții (prototipul)

Fiecare funcție din manual este documentată pentru referință rapidă. Știind cum se citește și se interpretează textul va face studierea PHP mult mai facilă. În loc să se bazeze pe exemple sau pe 'tăiere/inserare', oricine ar trebui să știe cum să citească definițiile funcțiilor (prototipurile). Să începem:

Notă: Condiție esențială: Cunoștințe de bază a tipurilor

Cu toate că PHP este un limbaj liber tipizat, este important de a avea cunoștințe de bază a tipurilor deoarece ele au o însemnătate importantă.

Definițiile functiilor ne spun ce tip de valoare este întoarsă. Să folosim definiția pentru strlen() ca primul nostru exemplu:

strlen

(PHP 4, PHP 5)
strlen -- Obține lungimea șirului de caractere

Descrierea
int strlen ( string $string )

Întoarce lungimea șirului dat de caractere.

Explicația unei definiții a funcției
Partea Descrierea
strlen Numele funcției.
(PHP 4, PHP 5) strlen() este prezentă în toate versiunile PHP 4 și PHP 5
int Tipul valorii, pe care această funcție o întoarce, care este integer (adică lungimea șirului de caractere măsurată în numere).
( string $string ) Primul (și în cazul dat unicul) parametru/argument pentru această funcție este numit string, și este de tipul string.

Am putea rescrie definiția funcției anterioare într-o formă generică:

      tipul întors    numele funcției    ( tipul parametrului   numele parametrului )

Multe funcții preiau parametri multipli, cum ar fi in_array(). Prototipul său este după cum urmează:

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

Ce înseamnă aceasta? in_array() întoarce o valoare boolean, TRUE în cazul succesului (dacă needle a fost găsit în haystack), sau FALSE în cazul eșecului (dacă needle nu a fost găsit în haystack). Primul parametru este numit needle și el poate fi de mai multe tipuri diferite, de aceea îl numim "mixed". Acest needle mixt (ceea ce căutăm) poate fi o valoare scalară (string, integer, sau float), sau un array. haystack (tabloul în care efectuăm căutarea) este al doilea parametru. Al treilea parametru opțional este numit strict. Toți parametrii opționali se găsesc între [ astfel de paranteze ]. Mmanual afirmă că parametrul strict are valoarea implicită boolean FALSE. Vedeți pagina manualului referitoare la fiecare funcție pentru detalii despre cum ea funcționează.

În plus, simbolul & (ampersand) plasat la începutul unui parametru al funcției permite ca parametrul să fie transmis prin referință, supă cum e prezentat mai jos:

       int preg_match ( string $pattern , string $subject [, array &$matches
      [, int $flags = 0 [, int $offset = 0 ]]] )

În acest exemplu observăm că al treilea parametru opțional &$matches va fi transmis prin referință.

Există funcții cu informație mai complexă despre versiunea PHP. Să luăm html_entity_decode() ca exemplu:

(PHP 4 >= 4.3.0, PHP 5)

Aceasta înseamnă că această funcție a devenit disponibilă numai începând cu versiunea PHP 4.3.0.