top of page

5 Ways To Loop Through An Array In PHP

Updated: Jul 4, 2023

Looping through arrays is a fundamental aspect of programming, allowing you to iterate over the elements and perform various operations. In PHP, there are multiple ways to accomplish this task, each with its own advantages and use cases. Whether you're a beginner or an experienced developer, understanding these different looping techniques can greatly enhance your ability to work with arrays effectively.


In this article, we will explore five distinct methods for looping through arrays in PHP, providing you with a comprehensive overview of each approach and its practical applications. By the end, you'll have a wealth of options at your disposal to tackle array manipulation in PHP with confidence and efficiency. Let's dive in and uncover the versatility of array looping in PHP.


5 Ways To Loop Through An Array In PHP


1. While Loop

The while loop is widely recognized and commonly used due to its intuitive name. Conceptually, we can think of the while loop as follows: "While a certain condition is true, the loop will continue to iterate, or vice versa." This method is often employed when working with database results represented as arrays. However, it is also applicable for reading arrays that are not specifically related to database results.


To loop through a regular array, we can create a boolean variable that evaluates whether the array has been fully traversed. Additionally, we need an index indicator variable that serves two purposes: accessing each value within the array and instructing the while loop when to terminate.


PHP Code

$CodeWallTutorialArray = ["Eggs", "Bacon", "HashBrowns", "Beans", "Bread", "RedSauce"];
$arrayLength = count($CodeWallTutorialArray);
$i = 0;
while ($i < $arrayLength)
{
echo 
$CodeWallTutorialArray[$i] ."<br />";
$i++;
}

Output

Eggs
Bacon
HashBrowns
Beans
Bread
RedSauce


2. For Loop

In the previous section, we discussed the while loop, and you will notice how similar the for loop is in terms of looping and extracting information from the array. The for loop requires three parameters, which are as follows:

  1. An initial counter set to a specific value, typically zero.

  2. A Boolean test that usually involves the initial counter.

  3. A counter increment, such as counter++.

The beginning of the for loop will always have a structure similar to the following:

for ($i = 0; $i < count($arr); $i++)

You must use semicolons after the first two parameters; otherwise, the code will throw an exception. Additionally, there is no need to manually increment the counter within the loop because the for operator handles this automatically.


Let's put this loop into action with the following PHP example.


PHP Code

$CodeWallTutorialArray = ["Eggs", "Bacon", "HashBrowns", "Beans", "Bread", "RedSauce"];
for ($i = 0; $i < count($CodeWallTutorialArray); $i++)  
{
echo 
$CodeWallTutorialArray[$i] ."<br />";
}

Output

Eggs
Bacon
HashBrowns
Beans
Bread
RedSauce


3. Foreach Loop

The foreach loop is my personal favorite method for iterating through arrays. It eliminates the need for a boolean test and allows you to directly access and manipulate the array elements. It is easy to use, understand, and proves useful in many scenarios. With the foreach loop, you are not bound to using a numeric index to retrieve data values. This loop simplifies the process for you.


Let's see it in action with the following example:


PHP Code

 $foodArray = ["Eggs", "Bacon", "HashBrowns", "Beans", "Bread"];
 foreach ($foodArray as $food)  
 {
 echo $food ."<br />";
 }

Output

Eggs
Bacon
HashBrowns
Beans
Bread

As you can see within the code example, there is much less fluff in terms of code. And, if you name your variables well, the code will make a lot more sense than other looping methods.


4. Do While Loop

The do-while loop is not commonly used in PHP code and is relatively scarce. Personally, I rarely employ it, and it's uncommon to encounter it in other people's code as well. It can be seen as a lengthier and bulkier alternative to the while loop, which makes it somewhat redundant. However, some argue that it offers better readability. Ultimately, the choice between the two comes down to personal preference.


In the do-while loop, you must include a test condition within the while statement, similar to what you would do in a regular while loop. Here's an example that demonstrates its usage:


PHP Code

$foodArray = ["Eggs", "Bacon", "HashBrowns", "Beans", "Bread"];
$i = 0;
do {
echo $foodArray[$i] . "<br />";
$i++;
}
while ($i < count($foodArray));

Output

Eggs
Bacon
HashBrowns
Beans
Bread

As you can see in the code, there is a need to create an increment index value that will work part as the test and part to access values from the array.


5. Array Iterator

An advanced method of looping over arrays in PHP is through the use of an ArrayIterator. This technique is typically employed in PHP classes and object-oriented projects. The ArrayIterator class provides various accessible variables and functions that offer added functionality.


Depending on your preferences and project requirements, you may find this method more preferable compared to others. It is highly recommended to refer to the documentation of this class to understand its benefits fully. One notable advantage is that it provides instant access to the count of the array, which can be both quick and useful.


PHP Code

$programmingLanguagesArray = ["PHP", "C++", "C#", "Python", "Java"];
$arrObject = new ArrayObject($programmingLanguagesArray);
$arrayIterator = $arrObject->getIterator();
while( $arrayIterator->valid() )
{
echo $arrayIterator->current() . "<br />";
$arrayIterator->next();
}

Output

PHP
C++
C#
Python
Java


Conclusion

With the demonstration of five different ways to loop over arrays, you now have the freedom to choose your preferred and personalized approach. Each method may perform better than the others based on your specific needs. I hope this information proves useful to you, and I encourage you to explore the possibilities of using loops to accomplish cool things in your projects. Feel free to copy any of the code provided in this article for your own use or as a reference in your development endeavors.

0 comments
bottom of page