Skip to main content

PHP Lesson 4

PHP Lesson 4: Control Structures (Decision Making and Loops)

Welcome back! So far, our code executes line by line from top to bottom. Control structures allow us to change that flow, enabling our programs to be smart, responsive, and efficient.

1. Decision Making: The if...else Statement

The if...else structure executes a block of code only if a specified condition is TRUE.

The Basic Structure

PHP
<?php
    $score = 85;

    if ($score >= 90) {
        echo "You got an A! Excellent work.";
    } elseif ($score >= 80) { // Check a secondary condition
        echo "You got a B! Great job.";
    } else { // If all other conditions are FALSE
        echo "You need to study more.";
    }
    
    // Output: You got a B! Great job.
?>

Comparison Operators

To create conditions within the if statement, you use comparison operators:

OperatorNameExample (returns TRUE)
==Equal to5 == 5
!=Not equal to5 != 10
>Greater than10 > 5
<Less than5 < 10
>=Greater than or equal to5 >= 5
<=Less than or equal to5 <= 10

2. Looping: Automating Repetitive Tasks

Loops are used to execute a block of code repeatedly as long as a certain condition is met. This is crucial for tasks like processing all items in an array or showing a list of database results.

The for Loop

The for loop is ideal when you know exactly how many times you want the loop to run.

Structure of a for loop:

  1. Initialization: Set the counter's starting value (e.g., $i = 0).

  2. Condition: The loop continues as long as this condition is TRUE (e.g., $i < 5).

  3. Increment/Decrement: How the counter changes after each loop iteration (e.g., $i++ means add 1).

PHP
<?php
    echo "<h2>Counting to 5</h2>";
    // $i++ is shorthand for $i = $i + 1
    for ($i = 1; $i <= 5; $i++) {
        echo "The count is: " . $i . "<br>";
    }
    
    /* Output:
    The count is: 1
    ...
    The count is: 5
    */
?>

The foreach Loop (Best for Arrays!)

The foreach loop is specifically designed to easily iterate (loop through) every item in an array. This is by far the most commonly used loop in PHP development.

A. Looping through Indexed Arrays:

PHP
<?php
    $students = ["David", "Emily", "Frank"];
    
    echo "<h2>Student List:</h2>";
    foreach ($students as $name) {
        echo "Student: " . $name . "<br>";
    }
?>

B. Looping through Associative Arrays (Key and Value):

PHP
<?php
    $person = [
        "name" => "Alex",
        "city" => "London",
        "age"  => 30
    ];

    echo "<h2>User Details:</h2>";
    // We get both the key (like "name") and the value (like "Alex")
    foreach ($person as $key => $value) {
        echo strtoupper($key) . ": " . $value . "<br>";
    }
    
    /* Output:
    NAME: Alex
    CITY: London
    AGE: 30
    */
?>

3. Combining Structures

You will often use loops and decision structures together. For example, using a foreach loop to check a condition for every item in a list:

PHP
<?php
    $products = [
        "Laptop" => 1200, 
        "Mouse" => 25, 
        "Monitor" => 350
    ];

    echo "<h2>Products Over $100:</h2>";

    foreach ($products as $item => $price) {
        if ($price > 100) {
            echo $item . " costs $" . $price . "<br>";
        }
    }
    
    /* Output:
    Laptop costs $1200
    Monitor costs $350
    */
?>

🚀 Your Fourth Challenge!

  1. Create an indexed array called $temperatures with at least 5 integer values (e.g., [15, 22, 18, 25, 19]).

  2. Use a foreach loop to iterate through the array.

  3. Inside the loop, use an if statement to check: if the temperature is greater than 20, echo "It's a warm day (Temp: [Temp])". Otherwise, echo "It's a cool day (Temp: [Temp])".


You now possess the foundational tools of almost any programming language! Next time, we will make your code organized and reusable by introducing Functions.

Comments

Popular posts from this blog

CSS Comments

Comments are used to explain the code and may help when you edit the source code at a later date. Comments are ignored by browsers. A CSS comment is placed inside the  <style>  element, and starts with  /*  and ends with  */ : Example /* This is a single-line comment */ p  {   color :  red ; } Try it Yourself » You can add comments wherever you want in the code: Example p  {   color :  red ;    /* Set text color to red */ } Try it Yourself » Comments can also span multiple lines:  Example /* This is a multi-line comment */ p  {   color :  red ; } Try it Yourself » HTML and CSS Comments From the HTML tutorial, you learned that you can add comments to your HTML source by using the  <!--...-->  syntax. In the following example, we use a combination of HTML and CSS comments: Example < !DOCTYPE  html > < html > < head > < style > p  {   color : ...

พยางค์

การที่เราเปล่งเสียงออกมาจากลำคอครั้งหนึ่ง ๆ นั้น เราเรียกเสียงที่เปล่งออกมาว่า “พยางค์” แม้ว่าเสียงที่เปล่งออกมาจะมีความหมายหรือไม่มีความหมายก็ตาม เช่น เราเปล่งเสียง “สุ” ถึงจะไม่ รู้ความหมาย หรือไม่รู้เรื่องเราก็เรียกว่า ๑ พยางค์ หากเราเปล่งเสียงออกมาอีกครั้งหนึ่งว่า “กร” จะ เป็น “สุกร” จึงจะมีความหมาย คำว่า “สุกร” ซึ่งเปล่งเสียง ๒ ครั้ง เราก็ถือว่ามี๒ พยางค์ เสียงที่เปล่ง ออกมาครั้งเดียวมีความหมาย เช่น นา หมายถึง ที่ปลูกข้าว เสียงที่เปล่งออกมาว่า “นา” นี้เป็น ๑ พยางค์ ลองดูตัวอย่างต่อไปนี้ ไร่ มี๑ พยางค์ ชาวไร่ มี๒ พยางค์ (ชาว-ไร่) สหกรณ์ มี๓ พยางค์ (สะ-หะ-กอน) โรงพยาบาล มี๔ พยางค์ (โรง-พะ-ยา-บาน) นักศึกษาผู้ใหญ่ มี๕ พยางค์ (นัก-สึก-สา-ผู้-ใหญ่) สหกรณ์การเกษตร มี๖ พยางค์ (สะ-หะ-กอน-การ-กะ-เสด) จากตัวอย่างข้างบนนี้สรุปได้ว่า พยางค์ คือ เสียงที่เปล่งออกมาครั้งหนึ่ง จะมีความหมายหรือไม่มีความหมายก็ตาม ถ้าเปล่ง เสียงออกมา ๑ ครั้ง ก็เรียก ๑ พยางค์ สองครั้งก็เรียก ๒ พยางค์ องค์ประกอบของพยางค์ พยางค์เกิดจากการเปล่งเสียงพยัญชนะ สระ และวรรณยุกต์ออกมาพร้อม ๆ กัน พยางค์ที่มี ความหมายอาจจะเป็นพยา...

OENG Sometri: Lecturer, IT Expert, and Public Administrator

👑 Welcome to the Official Blog of Dr. Candidate OENG Sometri 👑 I am a highly dedicated and experienced professional and educator with a strong foundation in Public Administration , Information Technology Engineering , and Foreign Languages . My commitment is to foster a joyful and supportive learning environment, encouraging students to become creative and problem-solving professionals . 💼 Professional Experience & Current Roles Lecturer of Fundamentals of Computer Networking at IIC, Phnom Penh (Aug 2025 – Present) Lecturer of Web Design & C# Programming at WiDCy Institute, Phnom Penh (Sep 2025 – Present) Instructor of ICT at PSIS, Phnom Penh (Sep 2025 – Present) ICT Trainer & Vice-Manager at Postal Operational Department, Cambodia Post (Mar 2025 – Sep 2025) IT Vice-Manager at IT Center, Cambodia Post (Feb 2023 – Mar 2025) Lecturer (Education/English) at Preah Sihamoniraja Buddhist University (PSBU) (2017 – 2025) Vice-Manager, Postal Operational Department at Camb...