0

次の配列があり、指定された要素の値に小枝でアクセスしたいと考えています。

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

には 1 つのエントリしかないことがわかっているnumbersので、キーを使用して配列に直接アクセスしたいと考えています01234567

タフでさえ正しいキーを返しますが、配列を取得するnumbers|keys[0]ようには使用できません。numbers[numbers|keys[0]]私もその機能を試しましたattribute(array, item)が、うまくいきませんでした。

直接アクセスすることは可能ですか、それともループを使用する必要がありますか?

4

1 に答える 1

1

Twigのおそらく文書化されていない「機能」を見つけました。ソースコードをチェックすると、twigは指定されたキーが数値であるかどうかを判断しようとします。このチェックは、変数に数字のみが含まれているかどうかをチェックするctype_digit関数を使用して行われます。

質問の例には、この条件を満たす配列キーが含まれています。これには数字のみが含まれています。残念ながら、ゼロで始まります。ゼロは、文字列が整数に変換されるときに削除されます。

これが意図された動作であるかどうかは正確にはわかりません。そのため、この例をバグとして報告してみてください。

現在の小枝の実装では、ループ構造以外はすべてgetAttribute関数を使用するため、forループを使用する以外に選択肢はありません。

于 2013-01-17T20:19:06.640 に答える