KnowledgeHub
Questions
Tags
Users
Search
Alex Rivera
|
Logout
Edit Question
Title
Body
Is it possible to pass an anonymous function as an argument, and have it execute immediately, thus passing the function's return value? function myFunction(Array $data){ print_r($data); } myFunction(function(){ $data = array( 'fruit' => 'apple', 'vegetable' => 'broccoli', 'other' => 'canned soup'); return $data; }); This throws an error due to the Array type-hint, complaining of an object being passed. Alright, if I remove the type-hint, it of course spits out Closure Object , rather than the results I want. I understand that I am technically passing an object instance of Closure to myFunction , however, I'm near certain that I've seen this accomplished elsewhere. Is this possible? If so, what am I doing wrong? For the sake of this discussion, I cannot modify the function to which I'm passing the closure. tl;dr: How can I pass an anonymous function declaration as an argument, resulting in the return value being passed as the argument. PS: If not clear, the desired output is: Array ( [fruit] => apple [vegetable] => broccoli [other] => canned soup )
Tags (comma-separated)
Save Edits
Cancel