Twig 使用“时出现奇怪的树枝行为”;在;操作人员

Twig 使用“时出现奇怪的树枝行为”;在;操作人员,twig,Twig,今天我注意到奇怪的行为,然后试图检查数组是否有值 我试着做{%if数组中的键| keys%}。。。{%endif%} 条件始终等于true 我后来尝试这样做:{{dump([0,1,2])}} 猜猜被抛弃的价值是多少?不知怎的,这是“真的”。 你们知道为什么会这样吗 我可以通过在[0,1,2]| join中使用'a'来解决这个问题,但这不是我想要解决的问题。这不是细枝,而是php。以下代码: var_dump(in_array('a', array(0, 1, 2))); 印刷品: bool(

今天我注意到奇怪的行为,然后试图检查数组是否有值

我试着做
{%if数组中的键| keys%}。。。{%endif%}
条件始终等于
true

我后来尝试这样做:
{{dump([0,1,2])}}

猜猜被抛弃的价值是多少?不知怎的,这是“真的”。 你们知道为什么会这样吗


我可以通过在[0,1,2]| join中使用
'a'来解决这个问题,但这不是我想要解决的问题。

这不是细枝,而是php。以下代码:

var_dump(in_array('a', array(0, 1, 2)));
印刷品:

bool(true)
将字符串与int进行比较时,字符串将转换为int。在本例中,“a”变为0,从而匹配其中一个数组键

试着做一个
var\u转储(“foobar”==0)
,你会发现它也是正确的

您可以使用
foo['a']来定义
,请在此处演示: