Php 小枝:钥匙;0“;不存在,因为数组为空,但转储显示数组

Php 小枝:钥匙;0“;不存在,因为数组为空,但转储显示数组,php,arrays,symfony,twig,Php,Arrays,Symfony,Twig,我在Twig尝试显示数组时遇到问题 当我转储变量{{dump(perfilServidor)}}时,我得到: array:3 [▼ 0 => UypPerfilServidor {#6122 ▼ -id: 1 -idPerfil: 8 -uypPerfil: UypPerfil {#363 ▶} -uypServidor: UypServidor {#6118 ▶} } 1 => UypPerfilServidor {#6117 ▼

我在Twig尝试显示数组时遇到问题

当我转储变量
{{dump(perfilServidor)}}
时,我得到:

array:3 [▼
  0 => UypPerfilServidor {#6122 ▼
    -id: 1
    -idPerfil: 8
    -uypPerfil: UypPerfil {#363 ▶}
    -uypServidor: UypServidor {#6118 ▶}
  }
  1 => UypPerfilServidor {#6117 ▼
    -id: 2
    -idPerfil: 8
    -uypPerfil: UypPerfil {#363}
    -uypServidor: UypServidor {#6116 ▶}
  }
  2 => UypPerfilServidor {#6114 ▼
    -id: 3
    -idPerfil: 8
    -uypPerfil: UypPerfil {#363}
    -uypServidor: UypServidor {#6115 ▶}
  }
]
但是,当我尝试转储数组
{{dump(perfilServidor[0])}}
的一个键时,它会抛出一个异常:

键“0”不存在,因为数组为空

如果我尝试访问另一个键,
{{dump(perfilServidor[5])}
,它表示数组具有键0,1,2:

具有键“0、1、2”的数组的键“5”不存在


我想获得数组的一个特定值(不通过整个数组循环),如何在不通过数组循环的情况下获得数组的值?

即使我对您正在构建的应用程序一无所知,我可以告诉您,使用硬编码数组键是一种不好的做法,尤其是在模板内部


如果只需要一项,则不应将整个数组提供给模板。请记住,模板只是视图而不是程序逻辑。

即使我对您正在构建的应用程序一无所知,我也可以告诉您,使用硬编码数组键是一种不好的做法,尤其是在模板内部


如果只需要一项,则不应将整个数组提供给模板。请记住,模板只是视图而不是程序逻辑。

谢谢。这不是我期望的答案,但它从另一方面帮助我解决了问题。尽管我还是很好奇,为什么Twig会抛出这个异常?不确定。底层数组是php数组还是类似doctrines arrayCollection的对象?它是延迟加载的吗?该数组来自使用.getValues方法转换DoctrineCollection。听起来像是延迟加载问题。问问自己是否需要延迟加载。通常,您可能希望从数据库表包含的所有记录中呈现某些内容。在这种情况下,最好在一次查询中查询所有信息。很好的博客帖子:谢谢。这不是我期望的答案,但它从另一方面帮助我解决了问题。尽管我还是很好奇,为什么Twig会抛出这个异常?不确定。底层数组是php数组还是类似doctrines arrayCollection的对象?它是延迟加载的吗?该数组来自使用.getValues方法转换DoctrineCollection。听起来像是延迟加载问题。问问自己是否需要延迟加载。通常,您可能希望从数据库表包含的所有记录中呈现某些内容。在这种情况下,最好在一次查询中查询所有信息。不错的博客帖子: