30) { echo "It's hot outside\n"; } else { echo "It's not that hot\n"; } // If/elseif/else statement $score = 85; if ($score >= 90) { echo "Grade: A\n"; } elseif ($score >= 80) { echo "Grade: B\n"; } elseif ($score >= 70) { echo "Grade: C\n"; } elseif ($score >= 60) { echo "Grade: D\n"; } else { echo "Grade: F\n"; } // Ternary operator (short if/else) $age = 20; $canVote = ($age >= 18) ? "Yes" : "No"; echo "Can vote: $canVote\n"; // Null coalescing operator (PHP 7+) $username = null; $displayName = $username ?? "Guest"; echo "Hello, $displayName\n"; // Nested if statements $isLoggedIn = true; $isAdmin = true; if ($isLoggedIn) { echo "User is logged in\n"; if ($isAdmin) { echo "User has admin privileges\n"; } else { echo "User has regular privileges\n"; } } else { echo "User is not logged in\n"; } echo "\n==========================================\n"; echo "SWITCH STATEMENTS\n"; echo "==========================================\n"; // Switch statement $dayOfWeek = 3; switch ($dayOfWeek) { case 1: echo "Monday\n"; break; case 2: echo "Tuesday\n"; break; case 3: echo "Wednesday\n"; break; case 4: echo "Thursday\n"; break; case 5: echo "Friday\n"; break; case 6: case 7: echo "Weekend\n"; break; default: echo "Invalid day\n"; break; } // Switch with fall-through (no break) $month = "Feb"; switch ($month) { case "Jan": echo "31 days\n"; break; case "Feb": echo "28 or 29 days\n"; break; case "Mar": echo "31 days\n"; break; case "Apr": echo "30 days\n"; break; // ... more cases } echo "\n==========================================\n"; echo "MATCH EXPRESSION (PHP 8+)\n"; echo "==========================================\n"; // Match expression (PHP 8+) // Will only work if you're running PHP 8 or higher $statusCode = 404; /* $message = match($statusCode) { 200, 201 => "Success", 400 => "Bad request", 401 => "Unauthorized", 403 => "Forbidden", 404 => "Not found", default => "Unknown status code" }; echo "HTTP Status: $message\n"; */ // For PHP 7 and below, use switch statement instead $message = ""; switch($statusCode) { case 200: case 201: $message = "Success"; break; case 400: $message = "Bad request"; break; case 404: $message = "Not found"; break; default: $message = "Unknown status code"; } echo "HTTP Status: $message\n"; echo "\n==========================================\n"; echo "FOR LOOPS\n"; echo "==========================================\n"; // Basic for loop echo "Basic for loop:\n"; for ($i = 0; $i < 5; $i++) { echo "Iteration $i\n"; } // For loop with multiple expressions echo "\nFor loop with multiple expressions:\n"; for ($i = 0, $j = 10; $i < 5; $i++, $j--) { echo "i = $i, j = $j\n"; } // For loop with break echo "\nFor loop with break:\n"; for ($i = 0; $i < 10; $i++) { if ($i == 5) { break; // Exit the loop when $i is 5 } echo "Iteration $i\n"; } // For loop with continue echo "\nFor loop with continue:\n"; for ($i = 0; $i < 10; $i++) { if ($i % 2 == 0) { continue; // Skip even numbers } echo "Odd number: $i\n"; } echo "\n==========================================\n"; echo "FOREACH LOOPS\n"; echo "==========================================\n"; // Foreach loop with array $fruits = ["Apple", "Banana", "Cherry", "Date", "Elderberry"]; echo "Fruits list:\n"; foreach ($fruits as $fruit) { echo "- $fruit\n"; } // Foreach with key => value $person = [ "name" => "John Doe", "age" => 30, "email" => "john@example.com", "location" => "New York" ]; echo "\nPerson details:\n"; foreach ($person as $key => $value) { echo "$key: $value\n"; } // Foreach with reference (&) to modify values echo "\nModifying array values with foreach:\n"; $numbers = [1, 2, 3, 4, 5]; echo "Before: " . implode(", ", $numbers) . "\n"; foreach ($numbers as &$number) { $number *= 2; // Double each number } unset($number); // Unset the reference echo "After: " . implode(", ", $numbers) . "\n"; echo "\n==========================================\n"; echo "WHILE LOOPS\n"; echo "==========================================\n"; // Basic while loop echo "Basic while loop:\n"; $count = 0; while ($count < 5) { echo "Count: $count\n"; $count++; } // While loop with break echo "\nWhile loop with break:\n"; $count = 0; while (true) { // Infinite loop echo "Count: $count\n"; $count++; if ($count >= 5) { break; // Exit the loop } } // While loop with continue echo "\nWhile loop with continue:\n"; $count = 0; while ($count < 10) { $count++; if ($count % 2 == 0) { continue; // Skip even numbers } echo "Odd count: $count\n"; } echo "\n==========================================\n"; echo "DO-WHILE LOOPS\n"; echo "==========================================\n"; // Basic do-while loop echo "Basic do-while loop:\n"; $count = 0; do { echo "Count: $count\n"; $count++; } while ($count < 5); // Do-while that executes at least once echo "\nDo-while with condition that would fail immediately in a while loop:\n"; $count = 10; do { echo "This will execute once even though count is already 10\n"; $count++; } while ($count < 5); echo "\n==========================================\n"; echo "NESTED LOOPS\n"; echo "==========================================\n"; // Nested for loops (creating a simple multiplication table) echo "Multiplication table (3x3):\n"; for ($i = 1; $i <= 3; $i++) { for ($j = 1; $j <= 3; $j++) { $product = $i * $j; echo "$i × $j = $product\n"; } echo "-----\n"; } // Nested loop with break/continue echo "\nNested loops with break and continue:\n"; for ($i = 0; $i < 3; $i++) { echo "Outer loop $i:\n"; for ($j = 0; $j < 5; $j++) { if ($j == 1) { continue; // Skip when $j is 1 } if ($j == 4) { break; // Exit inner loop when $j is 4 } echo " Inner loop $j\n"; } } // Breaking out of nested loops with labels (PHP 8+) echo "\nLabels can be used to break out of nested loops (PHP GOTO):\n"; for ($i = 0; $i < 3; $i++) { echo "Outer loop $i:\n"; for ($j = 0; $j < 3; $j++) { echo " Inner loop $j\n"; if ($i == 1 && $j == 1) { echo " Breaking out of all loops\n"; goto end_of_loops; // Break out of both loops } } } end_of_loops: echo "Loops have ended\n"; echo "\n==========================================\n"; echo "ALTERNATIVE SYNTAX (used in templates)\n"; echo "==========================================\n"; // Alternative syntax for if statements $showSection = true; if ($showSection): ?> This is HTML that would be shown if $showSection is true. This is HTML that would be shown if $showSection is false.