如何解决Twig多维数组-无法访问值
我有一个多维数组,但是由于某些原因,我的树枝没有响应数组值。
下面是我的树枝转储
array (size=2)
0 =>
object(App\Models\Entities\Strategy\CriticalSuccessFactor)[5]
private int 'csfId' => int 26
private iterable 'kpis' =>
array (size=1)
0 =>
object(App\Models\Entities\Strategy\KeyPerformanceIndicator)[10]
...
1 =>
object(App\Models\Entities\Strategy\CriticalSuccessFactor)[11]
private int 'csfId' => int 27
private iterable 'kpis' =>
array (size=1)
0 =>
object(App\Models\Entities\Strategy\KeyPerformanceIndicator)[12]
我确实找到了此链接,但没有回答我的问题。
Multidimensional Array in Twig
下面是我正在使用的数组数据的表示形式
csfs[
private int 'csfId' => int 26
'kpis' => [
private int 'kpiId' => int 42
'objectives' => [
private int 'objectivesId' => int 40
]
]
]
当我用细枝输出变量时,我什么也没得到。
这是我的树枝:
{% for csf in csfs %}
{% for kpi in csf.kpis %}
<p> kpi ID : {{ kpi.kpiId }}</p>
{% endfor %}
{% endfor %}
{{csf.csfId}}有效。它会打印ID。
我可以得到第一个数组值没问题。但是我无法访问kpis数组
解决方法
从import pygame
class sampler():
def __init__(self):
pygame.init()
pygame.mixer.init()
self.running,self.playing = True,False
self.oo,self.oi,self.io,self.ii = False,False,False
self.DISPLAY_W,self.DISPLAY_H = 500,500
self.display = pygame.Surface((self.DISPLAY_W,self.DISPLAY_H))
self.window = pygame.display.set_mode(((self.DISPLAY_W,self.DISPLAY_H)))
def loop(self):
while self.running:
self.checkevents()
self.play_sound()
self.resetkeys()
def checkevents(self):
for event in pygame.event.get():
if event.type == pygame.QUIT:
self.running,self.playing = False,False
if event.type == pygame.KEYDOWN:
if event.key == pygame.K_1:
self.oo = True
if event.key == pygame.K_2:
self.oi = True
if event.key == pygame.K_3:
self.io = True
if event.key == pygame.K_4:
self.ii = True
def resetkeys(self):
self.oo,False
def play_sound(self):
s1 = pygame.mixer.Sound('/sounds/s1.wav')
s2 = pygame.mixer.Sound('/sounds/s2.wav')
s3 = pygame.mixer.Sound('/sounds/s3.wav')
s4 = pygame.mixer.Sound('/sounds/s4.wav')
if self.oo == True:
s1.play()
if self.oi == True:
s2.play()
if self.io == True:
s3.play()
if self.ii == True:
s4.play()```
的{{3}}中可以看到,
为了方便起见,foo.bar在PHP上执行以下操作 层:
twig
Twig还支持在PHP上访问项目的特定语法 数组,foo ['bar']:
check if foo is an array and bar a valid element; if not,and if foo is an object,check that bar is a valid property; if not,check that bar is a valid method (even if bar is the constructor - use __construct() instead); if not,check that getBar is a valid method; if not,check that isBar is a valid method; if not,check that hasBar is a valid method; if not,return a null value.
所以您在这里有两个选择:
- 调整模型
check if foo is an array and bar a valid element; if not,return a null value.
您可以将方法CriticalSuccessFactor
重命名为getKeyPerformanceIndicators
或添加仅引用getKpis
的方法getKpis
getKeyPerformanceIndicators
- 调整模板并直接调用方法
public function getKpis() { return $this->getKeyPerformanceIndicators(); }
,而不要让getKeyPerformanceIndicators
神奇地确定方法
twig
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。