使用Twig模板时,是否可以从数组中获取平均值?

Jea*_*ean 2 php arrays average symfony twig

使用Symfony2时,是否有任何方法可以在Twig模板内部获取值数组的平均值?我尝试了类似以下代码的方法,但是它不起作用

{% set sumratings = 0 %}
{% set count = 0 %}
{% for rating in article.ratings %}
  {% set sumratings = sumratings + rating.value %}
{% endfor %}
AVG: {{  sumratings / article.ratings.count  }}
Run Code Online (Sandbox Code Playgroud)

任何的想法?

Pet*_*ley 5

我认为应该这样做

{% set sumratings = 0 %}
{% for rating in article.ratings %}
  {% set sumratings = sumratings + rating.value %}
{% endfor %}
AVG: {{  sumratings / article.ratings|length }}
Run Code Online (Sandbox Code Playgroud)

假设rating.value是一个整数

  • 长度过滤器只是获取数组大小的一种方法。在正确的位置使用PHP的count()是不合理的。你不会做`$ avg = count($ sum / $ values);`对吗?您可以这样做`$ avg = $ sum / count($ values);` (2认同)