From: Auke van Slooten > In a hobby project I'm relying on the order in which the following piece > of PHP code is executed: > > $client->system->multiCall( > $client->methodOne(), > $client->methodTwo() > ); > > Currently PHP always resolves $client->system (and executes the __get on > $client) before resolving the arguments to the multiCall() method call. > > Is this order something that is specified by PHP and so can be relied > upon to stay the same in the future or is it just how it currently works. > > If it cannot be relied upon to stay this way, I will have to rewrite the > multiCall method and API... Think about it from the parser's point of view. It has to evaluate $client->system to determine the parameter list for multiCall(). Then it has to evaluate those parameters before it can stuff their values into the stack so it can call the function. But, whether it evaluates the parameter list left-to-right or vice versa is implementation dependent. I don't believe you can rely on it always being the same unless you always use the same interpreter. Bob McConnell -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php