In PHP 5.0.5, they’ve now made it a requirement that things that are passed by reference must now explicitly be a variable. You would think this kind of behavior is obvious, but apparently it’s been allowed for all versions of PHP previous. Appararently without even warnings. You’ll get an error:
Fatal error: Only variables can be passed by reference ...
So you may think, where is this useful? Consider something short and concise like:
$only_element_we_care_about = array_pop(explode($seperator, $string));
You cannot do this now. The return value of a function is not a “variable” and cannot be passed by reference; a temporary variable needs to be used instead:
$tempory_variable = explode($seperator, $string);
$only_element_we_care_about = array_pop($temporary_variable);
Yes, there are other ways to do the above, but that isn’t the point. The fix is not difficult, but it is a total complete pain to go back to legacy code and fix things like this.
Remind me to find another web programming language.