【问题标题】:Laravel foreach variable loop scopeLaravel foreach 变量循环范围
【发布时间】:2018-08-05 19:55:19
【问题描述】:

当我使用 Laravel 刀片文件 foreach 循环时,在 foreach 循环之后可以访问变量,而变量的范围应该只在循环内

@foreach($user->referral as $ref)
  <tr>
    <td>{{ $ref->referral_amount }}</td>
    <td>{{ $ref->status }}</td>
  </tr>
@endforeach

$ref: 这个变量在@endforeach 之后可以在endforeach 循环之外访问

【问题讨论】:

  • 不,伙计,你不能在循环之外使用$ref
  • 循环后可以访问,试了一下
  • 不,唯一可能的原因是,如果您已经从控制器/view-composer/.. 向您的视图发送了一个 $ref 变量
  • @Christophvh 我尝试了一个 foreach,但没有从控制器传递该变量
  • 我知道它不应该被访问,但我可以在循环外访问变量,不知道为什么@HirenGohel

标签: php laravel laravel-5 foreach laravel-4


【解决方案1】:

建议通过unset()销毁

 @php unset($ref); @endphp

【讨论】:

    【解决方案2】:

    来自the foreach docs

    警告

    $value 的引用和最后一个数组元素即使在 foreach 循环之后仍然存在。建议unset()销毁

    因此,如果您想销毁引用,请执行以下操作:

    <?php unset($ref); ?>
    

    或者:

    @php unset($ref); @endphp
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-01-14
      • 1970-01-01
      • 2023-03-24
      • 2013-08-30
      • 1970-01-01
      • 2021-09-07
      • 1970-01-01
      相关资源
      最近更新 更多