Что быстрее операторы или условия?
$start = microtime(true);
for($i=0;$i<10000;$i++){
	$a = 0;
	if ($a < 1) ++$a;
}

$time = microtime(true) - $start;
printf('Time %.4F s.', $time);

$start = microtime(true);

for($i=0;$i<10000;$i++){
	$a < 1 && ++$a;
}
$time = microtime(true) - $start;
printf('Time %.4F s.', $time);
Вариант 1: Time 0.0008 s.
Вариант 2: Time 0.0010 s
Ставьте правильно вопрос, т.к. в вашем примере вопрос скорости не уместен вообще. Вопрос читаемости (читаемость выше с if) и отсутствия понимания того, что происходит. В вашем примере два разных случая.  В первом вы проверяете условие, и если оно выполняется, то происходит инкремент. Во втором же, вы проверяете двойное условие, первое - if a < 1, второе - результат выполнения операции инкремента. И если оба они выполнятся, то ничего не произойдет, потому что нет блока, отвечающего за выполнение кода, если двойное условие выполнится.
А про скорость забудьте, если у вас там не миллионы инкрементов и смотря что происходит с $a (поскольку ваш пример, как вы говорите, упрощен). Тогда вообще лучше использовать генераторы и yield. Вы не там пытаетесь скорость выжать. Узкие места программ это не if и &&. Или приводите полный пример, а не абстрактный, да еще неправильный.