6 votes

Laravel foreach variable loop scope

Lorsque j'utilise la boucle foreach du fichier lame de Laravel, la variable est accessible après la boucle foreach, alors que la portée de la variable devrait être uniquement à l'intérieur de la boucle.

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

$ref : Cette variable est accessible en dehors de la boucle endforeach après @endforeach

7voto

Alexey Mezenin Points 86781

De le site foreach docs :

Avertissement

Référence d'un $value et le dernier élément du tableau restent même après que le foreach boucle. Il est recommandé de la détruire en unset()

Donc, si vous voulez détruire la référence, faites ceci :

<?php unset($ref); ?>

Ou :

@php unset($ref); @endphp

3voto

Maitri Patel Points 136

Il est recommandé de le détruire par unset()

 @php unset($ref); @endphp

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X