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'];
