You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Twig模板访问需变量展开的变量报错,如何解决?

解决Twig中变量作为数组键名的语法错误问题

嘿,我来帮你搞定这个Twig的语法报错!你遇到的Twig_Error_Syntax: Expected name or number,根源是用错了变量作为数组键名的写法——~type~是Twig的字符串拼接语法,不是用来引用变量键名的方式,所以Twig解析的时候直接懵了。

对应你要实现的PHP代码$server['options_array']['options'][$type]['name'],在Twig里有两种正确的写法:

写法一:点语法(Twig推荐风格)

{{ server.options_array.options[type].name }}

写法二:方括号语法(和PHP写法更接近)

{{ server['options_array']['options'][type]['name'] }}

为什么之前的写法不对?

~在Twig里是字符串连接操作符,比如你写"prefix_" ~ type ~ "_suffix",是把type的值拼到两个字符串中间。但你这里是要把type作为数组的键名来访问,不是拼接字符串,所以用~会让Twig把它当成普通字符串的一部分去解析,自然找不到对应的键,还触发了语法错误。

举个实际例子:如果type变量的值是"mysql",上面两种正确写法都会解析成访问$server['options_array']['options']['mysql']['name'],完全符合你的需求。

内容的提问来源于stack exchange,提问作者ZCT

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.19 08:14:49