How does the issue of passing parameters by reference affect the usage of call_user_func in PHP?

When passing parameters by reference to a function in PHP, the call_user_func function cannot directly handle this. To work around this limitation, you can use anonymous functions (closures) to pass parameters by reference. By wrapping the call_user_func inside an anonymous function, you can pass parameters by reference successfully.

function myFunction(&$param) {
    $param++;
}

$param = 10;

$callback = function() use (&$param) {
    call_user_func('myFunction', $param);
};

$callback();

echo $param; // Output: 11