Take a look at this code:
if ($the_string = a_function_call('someid123') && $another_string = another_function_call('someid123'))
{
// $the_string and $another_string are now both expected to be the values returned from their respective functions, and this block of code is expected to be run if both of them are not "falsey".
}
However...
if ($the_string = a_function_call('someid123') && $another_string = another_function_call('someid123'))
{
// $the_string is now actually a boolean true. Not sure about $another_string.
}
Is this a weird bug? Or the intended behaviour? I've always thought that it was like the first scenario, and I've always coded by that assumption.