Listele argumentelor cu lungime variabilă
În PHP4, puteți crea funcții cu un număr variabil de argumente. Adică, noi creăm o funcție fără să știm în avans, cu câte argumente va provoca. Pentru a scrie o astfel de funcție, nu este necesară nicio sintaxă specială. Totul se face cu funcțiile încorporate func_num_args (). func_get_arg (). func_get_args ().
Funcția func_num_args () returnează numărul de argumente transmise funcției curente. Această funcție poate fi utilizată numai în cadrul definiției unei funcții definite de utilizator. Dacă apare în afara funcției, interpretul va emite un avertisment.
Exemplul 5.5. Folosind funcția func_num_args ()
Funcția func_get_arg (numărul argumentului întreg) returnează un argument din lista de argumente transmise funcției, numărul ordinal al căruia este specificat de numărul argumentului. Argumentele funcției sunt considerate începând de la zero. Ca func_num_args (). această funcție poate fi utilizată numai în cadrul definiției unei funcții.
Numărul argumentului nu poate depăși numărul de argumente transmise funcției. În caz contrar, va fi generat un avertisment și func_get_arg () va reveni Fals.
Să creăm o funcție pentru a verifica tipul de date al argumentelor sale. Considerăm că testul a avut succes dacă primul argument al funcției este un întreg, al doilea este un șir.
Exemplul 5.6. Funcție pentru verificarea tipului de date al argumentelor sale
Rezultatul lucrării va fi următorul.
Funcția func_get_args () returnează o matrice constând dintr-o listă de argumente transmise funcției. Fiecare element al matricei corespunde argumentului transmis funcției. Dacă funcția este utilizată în afara definiției unei funcții definite de utilizator, este generat un avertisment.
Rescriem exemplul anterior utilizând această funcție. Vom verifica dacă un argument întreg întreg trecut la o funcție este un întreg:
După cum puteți vedea, combinații de funcții func_num_args (). func_get_arg () și func_get_args () sunt utilizate pentru a permite funcțiilor să aibă o listă de variabile de argumente. Aceste funcții au fost adăugate numai în PHP 4. În PHP3, pentru a realiza acest efect, puteți utiliza un argument ca argument al funcției. De exemplu, aici este posibil să scrieți un script care verifică dacă fiecare parametru impar al funcției este un întreg: