Zmienne php w funkcji anonimowej
W tym artykule pokażę jak używać wcześniej zdefiniowanych zmiennych w funkcji anonimowej w php. Załóżmy, że mamy zmienną $statuses.
$statuses = ['status1','status2','status3'];
$_extract = ['id', 'adminuser.name', 'adminuser.distributorfield.sap','firstname', 'lastname', 'sms', function ($row) { return $statuses[$row['status']]; }, 'postal', 'city'];Niestety to nie zadziała i dostaniemy błąd o niezdefiniowanej zmiennej. Jest jednak na to sposób wystarczy za funkcją dopisać use(&$statuses) tak jak na poniższym listingu. Teraz już nie będzie błędu i możemy bez problemu wykorzystać tą zmienną.
$_extract = ['id', 'adminuser.name', 'adminuser.distributorfield.sap','firstname', 'lastname', 'sms', function ($row) use(&$statuses) { return $statuses[$row['status']]; }, 'postal', 'city'];