При сравнении в PHP рекомендуется использовать ===
вместо ==
из-за непереходного характера и причуд, таких как "5 is not a number" == 5
.Twig аналогичен оператору
По этой директиве, это означает, что оператор same as
следует использовать вместо ==
в Twig ?:
{# "Wrong" #}
{% if foo.bar == 3 %}
{# Better #}
{% if foo.bar is same as(3) %}
А также для is not same as
против !=
.
Не забудьте понять ваш вопрос. == и === оба правильны в зависимости от того, что вы пытаетесь сравнить. Это зависит от того, что вы хотите, чтобы условие возвращалось после жонглирования элементов. –
@YoannAugen У меня никогда не было случая, когда я хочу, чтобы элементы были подтасованы (или преобразованы в числа) для сравнения равенства, по крайней мере, не в PHP. См. Http://phpsadness.com/sad/47 –
, и если вы хотите сравнить true с 1? –