Laravel Foreach From Array
Stefan Bogdanescu
Founder & Senior Architect · 2026-06-29
Title: Understanding Laravel Foreach Loops for Arrays
Foreach loops are an essential tool in programming that allows you to iterate through collections such as arrays, without having to manually access and manipulate each element individually. In this comprehensive guide, we will walk you through the basics of using foreach loops with arrays in Laravel, and provide guidance on how to optimally apply them for a range of different scenarios.
Laravel makes it easy to work with collections - inbuilt objects that store iterable sets of data. A basic array can be defined as:
```php
$countries = ['England', 'Wales', 'Scotland'];
```
You want to print out all countries from this array using a foreach loop. In Laravel, you can achieve this with the syntax:
```php
@foreach ($countries as $country)
{{ $country }}
@endforeach
```
The above code iterates through each element in the $countries array and prints its value to the console or web page. Laravel's Blade template engine automates this process, enabling you to easily loop over an array with a minimal amount of code.
When working with complex data structures, such as collections returned by Eloquent models, you can use the same syntax:
```php
$locations = App\Models\Location::where('country', '=', 'England')->get();
@foreach ($locations as $location)
{{ $location->country }}
@if($location instanceof App\Models\Location)
// Handle the custom model logic here
@endif
@endforeach
```
The above code first retrieves all locations with a 'country' attribute set to 'England'. Afterwards, it loops through each location and prints its country. It also checks if the current object is an instance of App\Models\Location, allowing you to tailor your logic accordingly.
To better understand Laravel foreach loops, try experimenting with different data structures. You can create more complex arrays or even nested collections:
```php
$locations = [
'country' => ['England', 'Wales', 'Scotland'], // Parent Array
'cities' => ['London', 'Cardiff', 'Edinburgh'] // Child Array
];
@foreach ($locations as $locationType => $subArray)