我有以下数组,我想用twig访问指定元素的值。
numbers => Array ([01234567] => Array ( [0] => 9876543210 [1] => 8765432109 [2] => 0000000000))
我知道numbers
中只有一个条目,所以我想直接使用密钥01234567
访问数组。
即使很难numbers|keys[0]
确实返回正确的密钥,我也不能像numbers[numbers|keys[0]]
那样使用它来获取数组。我也试过attribute(array, item)
函数,但我没有让它工作。
是否可以直接访问它,还是需要使用循环?
答案 0 :(得分:1)
你找到了一个可能没有记录的"功能" Twig。如果选中the source code,twig会尝试确定给定的密钥是否为数字。它使用ctype_digit函数进行检查,该函数检查变量是否仅包含数字字符。
您的问题中的示例包含一个数组键,它符合以下条件:它只包含数字。不幸的是,它也以零开始,当字符串转换为整数时将被删除。
我不完全确定这是预期的行为,因此您可能会尝试将此示例报告为错误。
对于当前的twig实现,因为除了循环结构之外的所有内容都使用了getAttribute函数,除了使用for循环之外别无选择。