首页 > 解决方案 > 如何在视图解析器中访问循环项的属性?

问题描述

视图解析器上的文档处理条件,但他们的示例仅处理与循环项无关的明确定义的变量。这适用于这样的情况:

{ if $var === 'foo' } 
   <p>This is foo</p>
{ endif }

因此,如果我想检查循环项目的属性值,我该怎么做?理想情况下,我希望是这样的(在这个例子中,users是一个数组):

<ul>
  { users }
    <li>{ name }
      { if id == 1 }
        This is the first user
      { endif } 
    </li>
  { /users }
</ul>

但是,在这种情况下,无论是否有美元符号id,它都会抱怨该值未定义。也许类似的东西$user['id']会起作用,但是我怎么知道 CodeIgniter 用于其内部迭代的变量的名称?

编辑 1:数据数组

$data = [
    'users' => [
        [
            'id' => 1,
            'name' => 'John'
        ], [
            'id' => 2,
            'name' => 'Ben'
        ]
    ]
];

标签: codeignitercodeigniter-4

解决方案


查看片段的文档中解释了循环。

您需要将其与条件逻辑结合起来,如下所示:

    <ul>
      { users }
        <li>{ name }
          { if $id == 1 }
            This is the first user
          { endif } 
        </li>
      { /users }
    </ul>

推荐阅读