I have a class like this
class someclass{
public function somemethod(){}
}
Now I have an array:
$somearray['someclass'] = new someclass();
$somearray['somemethod'] = 'somemethod';
How can I fire them, I tried the following:
$somearray['someclass']->$somearray['somemethod']();
usign this I get the following error:
Fatal error: Method name must be a string in ………………….
Anyone have an idea on how to do this?
I cannot reproduce the error with the code provided (As @webbiedave pointed out the syntax is correct).
However you could cast the method name to a string before using it to ensure the method name is a string. This will ensure that even it is a user defined object with a
__toString()method, it will be converted into its string representation.