我只是在树枝上做了一个奇怪的行为。
我刚刚在一个没有设置任何键的数组上使用了for()
,但之前已添加到数组中。对于测试用例,只需假设这个php数组:
$array = array (
0 => 'test1',
1 => 'test2',
'someKey' => 'test3'
)
所以,我在树枝上做了这个:
{% for key, value in array %}
{% if key == 'someKey' %}
{{ 'something special happend' }}
{% else %}
{{ 'how boring' }}
{% endif %}
{% endfor %}
让我措手不及的事实是something special happend
被称为两次。
经过一番搜索,我发现这个案例对于密钥0
也是如此。
所以我尝试了以下:
{{ dump (key == 'someKey') }}
结果是
所以我做了另一个测试:
{{ dump(key|lower == 'somekey') }}
结果是
因为我想确定,这是我的最后一次测试
{{ dump(0 == 'somekey') }}
{{ dump(0|lower == 'somekey') }}
结果是
为什么这样的行为是这样的?我无法解释。
PS:我知道我可以使用same as运算符,但我很好奇它是如何工作的。