function AVeryExpensiveCallWithBooleanReturnValue()
{
echo __METHOD__ . ' executed.';
return (bool) rand(0,1);
}
$bool = true;
if($bool or AVeryExpensiveCallWithBooleanReturnValue())
{
echo 'First condition "true". Second condition "not evaluated" (short-circuited).';
}
Have you seen return (bool) rand(0,1);? Stupid? Yes? Really?
It’s a very helpful snippet during testing the logical context of a boolean return function.
I wish for an automated tool, doing this kind of stuff to the code. Sadly, there isn’t a single one in the PHP world. Maybe, Scrutinizer-CI at some, not so far, future day. If one has basic flow-path analysis, it’s not that far away, to do enhanced logical analysis (including boolean return value modification), too.
http://www.php.net/manual/en/language.operators.logical.php