www 101

All you need to know about the internet

Have a Question?

If you have any question you can ask below or enter what you are looking for!

PHP Control Structures and Loops: if, else, for, foreach, while and More

Today, we’re going to discuss control structures and loops in PHP. I’ll show you how to use all the main control structures that are supported in PHP, like if, else, for, foreach, while and more.

What Is a Control Structure?

In simple terms, a control structure allows you to control the flow of code execution in your application. Generally, a program is executed sequentially, line by line, and a control structure allows you to alter that flow, usually depending on certain conditions.

Control structures are core features of the PHP language that allow your script to respond differently to different inputs or situations. This could allow your script to give different responses based on user input, file contents, or some other data.

The following flowchard explains how a control structure works in PHP.

If Condition Flow

As you can see in the above screenshot, first a condition is checked. If the condition is true, the conditional code will be executed. The important thing to note here is that code execution continues normally after conditional code execution.

Let’s consider the following example.

If-Else Condition Flow

In the above example, the program checks whether or not the user is logged in. Based on the user’s login status, they will be redirected to either the Login page or the My Account page. In this case, a control structure ends code execution by redirecting users to a different page. This is a crucial ability of the PHP language.

PHP supports a number of different control structures:

  • if
  • else
  • elseif
  • switch
  • while
  • dowhile
  • for
  • foreach
  • and more

Let’s take a look at a few of these control structures with examples.

Go Through the Different Control Structures

In the previous section, we learned the basics of control structures in PHP and their usefulness in application development. In this section, we’ll go through a couple of important control structures that you’ll end up using frequently in your day-to-day application development.

If

The if construct allows you to execute a piece of code if the expression provided along with it evaluates to true.

Let’s have a look at the following example to understand how it actually works.

The above example should output the Your age is greater than 30! message since the expression evaluates to true. In fact, if you want to execute only a single statement, the above example can be rewritten as shown in the following snippet without brackets.

On the other hand, if you have more than one statements to execute, you must use brackets as shown in the following snippet.

Else

In the previous section, we discussed the if construct which allows you to execute a piece of code if the expression evaluates to true. On the other hand, if the expression evaluates to false, it won’t do anything. More often than not, you also want to execute a different code snippet if the expression evaluates to false. That’s where the else statement comes into the picture.

You always use the else statement in conjunction with an if statement. Basically, you can define it as shown in the following pseudo code.

Let’s revise the previous example to understand how it works.

So when you have two choices, and one of them must be executed, you can use the if-else construct.

Else If

We can consider the elseif statement as an extension to the if-else construct. If you’ve got more than two choices to choose from, you can use the elseif statement.

Let’s study the basic structure of the elseif statement as shown in the following pseudo code.

Again, let’s try to understand it using a real-world example.

As you can see in the above example, we’ve multiple conditions, thus we’ve used a series of elseif statements. In the event of all if conditions evaluate to false, it executes code provided in the last else statement.

Switch

The switch statement is somewhat similar to the elseif statement which we’ve just discussed in the previous section. The only difference is the expression which is being checked.

In the case of elseif statement, you’ve a set of different conditions and an appropriate action will be executed based on a condition. On the other hand, if you want to compare a variable with different values, you can use the switch statement.

As usual, an example is the best way to understand the switch statement.

As you can see in the above example, we want to check the value of the $favourite_site variable, and based on the value of the $favourite_site variable we want to print a message.

For each value you want to check with the $favourite_site variable, you’ve to define the case block. If the value is matched with a case, code associated with that case block will be executed. After that, you need to use the break statement to end code execution. If you don’t use the break statement, script execution will be continued up to the last block in the switch statement.

Finally, if you want to execute a piece of code if the variable’s value doesn’t match with any case, you can define it under the default block. Of course, it’s not mandatory, it’s just a way to provide a default case.

So that’s the story of conditional control structures. We’ll discuss loops in PHP in the next sections.

Loops

Loops in PHP are useful when you want to execute a piece of code repeatedly until a condition evaluates to false. So code is executed repeatedly as long as a condition evaluates to true, and as soon as the condition evaluates to false, the script continues executing the code after the loop.

The following flowchart explains how loops work in PHP.

Loop Flow

As you can see in the above screenshot, a loop contains a condition. If the condition evaluates to true, the conditional code is executed. After execution of the conditional code, control goes back to the loop condition, and the flow continues until the condition evaluates to false.

In this section, we’ll go through the different types of loops supported in PHP.

While Loop

The while loop is used when you want to execute a piece of code repeatedly until the while condition evaluates to false.

You can define it as shown in the following pseudo code.

Let’s have a look at a real-world example to understand how the while loop works in PHP.

If you’re familiar with the Fibonacci series, you might recognize what the above program does—it outputs the Fibonacci series for the first ten numbers. The while loop is generally used when you don’t know about the number of iterations that’s going to take place in a loop.

Do-While Loop

The do-while loop is very similar to the while loop with the only difference that the while condition is checked at the end of the first iteration. Thus, we can guarantee that the loop code is executed at least once irrespective of the result of the while expression.

Let’s have a look at syntax of the do-while loop.

Let’s go through a real-world to understand possible use-cases where you can use the do-while loop.

In the above example, we’re trying to read a file line by line. Firstly, we’ve opened a file for reading. In our case, we’re not sure if the file contains any content at all. Thus, we need to execute the fgets function at least once to check if a file contains any content. So we can use the do-while loop here. do-while evaluates the condition after the first iteration of the loop.

For Loop

Generally, the for loop is used to execute a piece of code for a specific number of times. In other words, if you already know the number of times you want to execute a block of code, it’s the for loop which is the best choice.

Let’s have a look at the syntax of the for loop.

The expr1 expression is used to initialize variables, and it’s always executed. The expr2 expression is also executed in the beginning of a loop, and if it evaluated to true, the loop code is executed. After execution of the loop code, the expr3 is executed. Generally, the expr3 is used to alter the value of a variable which is used in the expr2 expression.

Let’s go through the following example to see how it works.

The above program outputs square of the first ten numbers. It initializes $i to 1, repeats as long as $i is less than or equal to 10, and adds 1 to $i at each iteration.

For Each

The foreach loop is used to iterate over array variables. If you’ve an array variable, and you want to go through the each element of that array, the foreach loop is the best choice.

Let’s have a look at a couple of examples.

If you want to access array values, you can use the first version of the foreach loop as shown in the above example. On the other hand, if you want to access both a key and a value, you can do it as shown in the $employee example above.

Conclusion

In this article, we discussed different control structures and loops in PHP. They are essential part of PHP—or any programming language for that matter.

I hope you’ve enjoyed this article, and if you’ve any queries, feel free to ask them using the feed below!