= The foreach Statement .Syntax [source,unlang] ---- foreach { [ statements ] } ---- The `foreach` statement loops over a set of attributes as given by ``. The loop can be exited early by using the xref:break.adoc[break] keyword. :: The xref:attr.adoc[attribute reference] which will will be looped over. The reference can be to one attribute, to an array, a child, or be a subset. Inside of the `foreach` block, the attribute that is being looped over can be referenced as `Foreach-Variable-0`, through `Foreach-Variable-9`. The last digit is the depth of the loop, starting at "0". The loops can be nested up to eight (8) deep, though this is not recommended. The attributes being looped over cannot be modified or deleted. .Example [source,unlang] ---- foreach &Class { update reply { Reply-Message += "Contains %{Foreach-Variable-0}" } } ---- // Copyright (C) 2020 Network RADIUS SAS. Licenced under CC-by-NC 4.0. // Development of this documentation was sponsored by Network RADIUS SAS.