Ставьте правильно вопрос, т.к. в вашем примере вопрос скорости не уместен вообще. Вопрос читаемости (читаемость выше с if) и отсутствия понимания того, что происходит. В вашем примере два разных случая. В первом вы проверяете условие, и если оно выполняется, то происходит инкремент. Во втором же, вы проверяете двойное условие, первое - if a < 1, второе - результат выполнения операции инкремента. И если оба они выполнятся, то ничего не произойдет, потому что нет блока, отвечающего за выполнение кода, если двойное условие выполнится.
А про скорость забудьте, если у вас там не миллионы инкрементов и смотря что происходит с $a (поскольку ваш пример, как вы говорите, упрощен). Тогда вообще лучше использовать генераторы и yield. Вы не там пытаетесь скорость выжать. Узкие места программ это не if и &&. Или приводите полный пример, а не абстрактный, да еще неправильный.