PHP: switch vs if

Какая форма более эффективна

Вот этот:

switch($var) { case 1: break; case 2: break; } 

.. или этот:

 if( $var === 1 ) { } elseif( $var === 2 ) { } 

с точки зрения производительности?

Аспект производительности совершенно не имеет значения.

Как показывает PHPBench , даже с 1000 операций разница между ними составляет около 188 микросекунд, что составляет 188 миллионных долей секунды . PHP-код обычно имеет гораздо большие узкие места: единый вызов базы данных часто занимает десятки миллисекунд, что в десятки тысяч раз больше.

Используйте то, что вам нравится, и в зависимости от того, что лучше для читаемости вашего кода – для многих проверок, скорее всего, это switch .

Производительность в таких микро-шкалах не имеет значения. Используйте тот, который более подходит в вашем контексте. Читаемость и ремонтопригодность гораздо важнее производительности.

Это не о производительности, а о требованиях!

Иногда вы хотите, чтобы что-то произошло в вашем состоянии if, иначе оно перейдет к другому.

Коммутатор может использоваться, если у вас есть много значений для сравнения