Я ожидал, что прямая оценка истинности переменной будет быстрее, чем проверка, если две переменные равны.Мои тесты показывают, что это так.Можно ожидать, что при вычислении оператора == будет более высокий уровень косвенности (это вызов дополнительной функции, которая возвращает значение истинности?), И, следовательно, он добавляет очень незначительные накладные расходы.
Некоторые люди считают, что это преждевременная микрооптимизация.Лично я не думаю, что это потому, что
Лично я предпочитаю читать if ($var) {}
, чем if ($var == 1) {}
Это занимает оченьбазовое понимание языка, чтобы знать, что любое истинное (эквивалентное истинному) значение может быть оценено внутри оператора if
В некотором смысле это может повысить осведомленность о том, как работает оператор if (что угодноэто не одобряет if ($var == true) {}
, если, конечно, полезно только дробное число)лучший вариант.По крайней мере, так мне кажется, учитывая мои личные предпочтения.