Seems the order or left vs right assignment evaluation has changed somehow recently in my upgrade to PHP 5.1.4. See the following code:

That's is indeed a quirk of a change in the way variables are retreived/stored between 5.0 and 5.1.

Is it an unexpected BC break? In functional terms yes, but technically no. As mike already replied, using the same var more than once in a single expression where the value of the variable is expected to change is (and has always been) considered "undefined behavior". I'd recommend changing your statement to:
$data[$index] = $index;
++$index;

And before you complain about the "extra work" for the engine, let me just mention this is still lighter weight than what 5.0 and 4.x were doing.

-Sara
--
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to