Вы спрашивали, имеются ли в PHP какие-либо побочные эффекты. Имеются.
Если первое условие будет ложью, то второе условие даже и не запустится вовсе:
function first() { echo "first "; return false; }
function second() { echo "second "; return true; }
if (first() && second()) echo "OK"; else echo "Bad";
выведет "first Bad", а слово "second" не выведется, что значит - вторая функция не запустилась.
Так же не запустится второе условие при использовании ИЛИ, если первое условие вернуло истину.
И правда, зачем проверять второе условие, если итоговый результат выражения уже известен на первом условии?