在Twig模板中{{0在[' a',' b',' 99']}}返回1.为什么?

时间:2016-06-21 14:37:22

标签: php twig

问题标题已经问过:

在Twig模板{{0 in ['a', 'b', '99']}}中打印1。为什么?我有'0'作为值,我无法对数组进行检查,因为该值总是弹出现有值。在一天结束时:如何实现在Twig中针对字符串数组检查零的目标?

1 个答案:

答案 0 :(得分:1)

用于比较的PHP类型强制在必要时转到整数。您正在检查数组中是否存在整数。对于此比较,(int) 'a'被强制为0。因此,0被视为在数组中。

为避免这种情况,您可以将in_array与严格选项一起使用:

in_array('0', ['a', 'b', '99'], true)