PHP - Set Array Value from Closure Evaluation
Written in 2016. Versions, commands and links may well be out of date.
There are times when you need to set a PHP array value from evaluated PHP code. Sometimes, you need to this using variables that won’t conflict with the current scope and with throwaway code that you won’t need again - so a closure is ideal. Typically, you’ll need to assign the closure to a variable but this will negate the above requirement to not interfere with the current scope. Here’s a way to do this:
return [
'key1' => call_user_func( function() {
$somevar = fn();
// generate value
return $calculated_value;
}),
];
This has proved particularly used in Laravel configuration files.