我正在使用Symfony 2.5和PHP 5.3进行文件浏览器
在我的Controller中,我将一个数组返回到我的视图(在目录上调用scandir();
的结果)
数组包含“months”。 (1月,2月,3月......)我用Bootstrap手风琴展示它。
我想通过降序这个数组来命令:
12月 - > 11月 - >十月 - >九月......
我们可以看到{{ for months in month|sort|reverse }}
在这里不起作用。
我该怎么办呢?
答案 0 :(得分:1)
您需要按索引对数组进行排序,否则它将按字母顺序对数组进行排序:
{% set months = {1: 'January', 2: 'February', 3: 'March', 4: 'April', 5: 'May', 6: 'June', 7: 'July', 8: 'August', 9: 'September', 10: 'October', 11: 'November', 12: 'December'} %}
{% for month in months|reverse %}
{{ month }}
{% endfor %}
答案 1 :(得分:0)
您可以使用PHP函数array_reverse()
。它以相反的顺序为您提供数组。所以你不必在Twig做任何事情。
$input = array(1, 2, 3);
$reversed = array_reverse($input);
当然,您必须在控制器中使用此功能。
要按月按字母顺序排序,但按时间排序,请参阅此帖子。 PHP re-order array of month names
这个问题已经得到解答。你只需要在你的控制器中按照这样的顺序进行订购即可。