..
Kao što je PHP 5,3 dostupna Anonimni funkcije (lambda funkcija) i zatvaranja ... ali što je to?
Anonimni funkcija (ili lambda) su funkcije (bez imena) koji su kao glavni koristiti (iako ne samo) treba definirati kao povratni poziv funkcije.
Za one od vas pitate što je povratni funkcija može pojednostavniti definicija na ovaj način: funkcija proslijeđena je kao argument u drugu funkciju.
Možda je bolje vidjeti, primjerice, za bistrinu neka je vidjeti prvi pisani u pseudocode, callbacks nisu anonimni i zapravo prednost PHP:
/ / Callback # povratni poziv funkcije (parametar) Učinite nešto s parametrom povratak rezultat obrade / / # Pozivatelja poziv funkcije (ulaz, povratni poziv (parametar))
Nije jasno? Nema problema, vidimo praktični primjer koristi funkciju knjižnica čiji se potpis nalazi array_walk:
Ova značajka odnosi se na svaki element niza $ $ povratni funcname ($ UserData izostaviti koji je opcionalno).
Prije verzije 5,3 PHP koristiti ga treba pisati, na primjer:
$ Array = array ("Rick", "George", "Matej");
echoEach funkcija ($ predmet) {
echo $ stavku.
"<br />";
}
array_walk ($ array, "echoEach");
Pogledajmo kako se mijenja uz korištenje lambda:
$ Array = array ("Rick", "George", "Matej");
array_walk ($ array, funkcija ($ predmet) {
echo $ stavku.
"<br />";
});
Za obje verzije, izlaz će biti:
Plast George Matej
Drugi primjer, array_filter funkcija, koja prima niz kao ulazni i povratni potpis:
array_filter polje (polje $ ulaz [, povratni poziv $ povratni])
Mi koristimo anonimne funkcije:
$ ArrayNum = array (1, 3, 6, 5, 2, 8);
$ Filtrirano = array_filter ($ arrayNum, funkcija ($ predmet) {
povratak $ predmet> 2;
});
print_r ($ filtrirane);
Izlaz:
Array ( [1] => 3 [2] => 6 [3] => 5 [5] => 8 )
To je filtriran polje za vrijednosti veće od 2.
Što dobiti? U kod čitljivost i eleganciju.
| |
Linux (tečaj)
Kompletan vodič za open-source sustava. Od 49 €. |
| |
MySQL (tečaj)
Upravljanje open-source baza podataka. Od 39 €. |
| |
PHP (tečaj)
Cijeli tečaj za izradu dinamičkih Web stranica. Od 49 €. |