0

我有以下数组,我想用树枝访问指定元素的值。

numbers => Array ([01234567] => Array ( [0] => 9876543210 [1] => 8765432109 [2] => 0000000000))

我知道 中只有一个条目numbers,所以我想01234567直接用密钥访问数组。

即使很难numbers|keys[0]返回正确的密钥,我也不能像numbers[numbers|keys[0]]获取数组一样使用它。我也试过这个attribute(array, item)功能,但我没有让它工作。

是否可以直接访问它还是我需要使用循环?

4

1 回答 1

1

您发现了 Twig 的一个可能未记录的“功能”。如果您检查源代码,twig 会尝试确定给定键是否为数字。它使用ctype_digit函数进行此检查,该函数检查变量是否仅包含数字字符。

您问题中的示例包含一个满足以下条件的数组键:它仅包含数字。不幸的是,它也是从零开始的,当字符串转换为整数时,它会被删除。

我不确定这是预期的行为,因此您可以尝试将此示例报告为错误。

对于当前的 twig 实现,因为除了循环构造之外的所有内容都使用 getAttribute 函数,所以您别无选择,只能使用 for 循环。

于 2013-01-17T20:19:06.640 回答