Twig中length函数异常,求获取分类数组子数组长度的方法
解决Twig中获取分类子数组长度的问题
我来帮你搞定这个Twig里length函数的问题~针对你提供的分类数组结构,其实用length过滤器完全能拿到每个分类项的子数组长度,大概率是数组访问路径的小失误导致的,下面给你具体的实现方法和排查要点:
正确用法示例
假设后端传递到Twig的分类数组变量名为category(对应你给出的数组开头[category] => Array),你可以通过遍历数组,对每个分类项的children字段应用length过滤器:
{% for category_item in category %} <div> 分类名称:{{ category_item.name }}<br> 子分类数量:{{ category_item.children|length }} </div> {% endfor %}
针对你给出的示例数组,这段代码会输出:
分类名称:Desktops
子分类数量:2
排查要点(如果还是无法正常工作)
如果执行后没得到预期结果,可以检查这几点:
- 键名拼写是否准确:确认你要统计的子数组键是
children,别和示例里的children3搞混,拼写错误是最常见的问题。 - 子数组是否存在且可迭代:如果部分分类项可能没有
children字段,或者children是null/非数组类型,可添加判断避免报错:{% for category_item in category %} 子分类数量:{{ (category_item.children is defined and category_item.children is iterable) ? category_item.children|length : 0 }} {% endfor %} - 变量名是否匹配:确认Twig中使用的变量名和后端传递的一致,比如是不是应该用
category而不是其他自定义名称。
内容的提问来源于stack exchange,提问作者Radhika
相关产品推荐
相关产品推荐

