【问题标题】:Iterator within a foreach loopforeach 循环中的迭代器
【发布时间】:2017-11-08 17:15:11
【问题描述】:

我有一个网站,我们在其中加载了一个隐藏的输入和数组,其中的值来自我们现在已删除的 php 函数。有问题的变量是rownum,函数是:

public function setskuRosNums()
{
$r = 1;
foreach($this->pgroups as &$pgroup){
    foreach($pgroup->pskus as &$psku){
        $psku->rownum = $r;
        $r++;
    }
}
}

由于该函数已被删除,我基本上想在我的 foreach 循环中添加一个迭代器来替换它。这被用于遍历我们所有的产品,并将递增的行号关联到每个 sku。

我的 laravel 刀片中有一个循环 sku 的 foreach 循环,我想使用迭代器来索引每个循环,作为旧函数正在执行的有效替代方法。

这是当前循环/代码:

@foreach ($pgroup->pskus as $psku)
<?php $tempdata[$psku->rownum] = $psku ?>
    <tr>
    <td style="font-weight: 500; line-height: 30px; font-size: 14px;">{{ $psku->frame_fmt }}</td>
    <input type="hidden" name="rownum" value="{{$psku->rownum}}" />
    </td></tr>
@endforeach

所以$psku-&gt;rownum 将会改变,我将有一个新变量供迭代器放置。我怎样才能做到这一点并在 foreach 循环中创建一个迭代器,以便它将一个数字与每个 sku 相关联?

【问题讨论】:

    标签: php laravel loops foreach


    【解决方案1】:

    foreach 循环中的局部变量中删除不需要的&amp;s:

    foreach($this->pgroups as &$pgroup){
        foreach($pgroup->pskus as &$psku){
            $psku->rownum = $r;
            $r++;
        }
    }
    

    应该是

    foreach($this->pgroups as $pgroup){ // & deleted
        foreach($pgroup->pskus as $psku){ // & deleted
            $psku->rownum = $r;
            $r++;
        }
    }
    

    【讨论】:

      猜你喜欢
      • 2013-11-19
      • 1970-01-01
      • 1970-01-01
      • 2015-02-16
      • 1970-01-01
      • 2013-03-23
      • 1970-01-01
      • 2015-07-25
      • 2021-07-21
      相关资源
      最近更新 更多