访问Twig中的键阵列

时间:2017-06-18 10:42:24

标签: php symfony twig

嘿,每个人都遇到问题访问对象键以获取价值, 我的数据结构如下:

$userCustomErrors = array(
            'motherboard' => array('socketError' => 1, 'socketError2' => 0 ,'SataNumbers' => 0,'m2Slots' => 0,'RamType' => 0,'RamNumber'=>0,'RamCapacity' => 0,'Mobosize' => 0),
            'cpu'=> array('integratedGraphics'=>0,'RamTypeC' => 0,'RamCapacityC' => 0,),
            'gpu'=> array('GPUError' => 0,'GPULength' => 0,'powerGPU' => 0),
            'cooler'=>array('AirHeight' => 0,'waterRad'=>0),
            'case'=>array('35Numbers' => 0,'25Numbers' => 0,'psuExist'=>0),
            'psu'=>array('statpower'=>0,'TotalPowerConsum'=>0)
        ); 

我试图在我的twig文件中以这种方式访问​​它:

{% for key,Error in userCustomErrors %}
{{ Error["motherboard"]["socketError"] }}
{% endfor %}

但是我收到了这个错误:

Key "motherboard" for array with keys "socketError, socketError2, SataNumbers, m2Slots, RamType, RamNumber, RamCapacity, Mobosize" does not exist.

我尝试了Twig文档中的属性,但似乎没有任何工作,如果有人愿意提供帮助,谢谢

3 个答案:

答案 0 :(得分:2)

如果您想访问单个属性,请仅使用:

index

如果要遍历数组,则需要:

int

这样你可以遍历所有值

答案 1 :(得分:1)

尝试

{% for key,Error in userCustomErrors %}
     {{ Error["socketError"] }}
{% endfor %}

答案 2 :(得分:0)

@Crozin在评论中提供的答案是正确答案:

{{userCustomErrors["motherboard"]["socketError"]}}