← PHP EnglishChapter 04 of 13

Control Flow

## Learning Objectives - Master if, else if, else statements - Understand switch statements - Learn for, foreach, while, do-while loops - Use break, continue, and match expression ## if Statement ### Basic if ```php = 18) { echo "Adult"; } ?> ``` ### if-else ```php = 18) { echo "Adult"; } else { echo "Minor"; } ?> ``` ### if-else if-else ```php = 90) { $grade = "A"; } elseif ($score >= 80) { $grade = "B"; } elseif ($score >= 70) { $grade = "C"; } elseif ($score >= 60) { $grade = "D"; } else { $grade = "F"; } echo "Grade: " . $grade; ?> ``` ### Alternative Syntax ```php = 18): echo "Adult"; elseif ($age >= 13): echo "Teenager"; else: echo "Child"; endif; ?> ``` ## Ternary Operator ```php = 18) ? "Adult" : "Minor"; echo $status; // Adult // With else-if (avoid nesting) $grade = ($score >= 90) ? "A" : ($score >= 80) ? "B" : ($score >= 70) ? "C" : "F"; ?> ``` ### Null Coalescing as Ternary Alternative ```php ``` ## switch Statement ### Basic switch ```php ``` ### switch with Multiple Values ```php ``` ### switch without break (Fall-through) ```php ``` ### Alternative Switch Syntax ```php ``` ## match Expression (PHP 8) ### Basic match ```php "Monday", 2 => "Tuesday", 3 => "Wednesday", 4 => "Thursday", 5 => "Friday", 6 => "Saturday", 7 => "Sunday", }; echo $dayName; ?> ``` ### Multiple Values ```php 31, 4, 6, 9, 11 => 30, 2 => 28, }; echo "Days: " . $days; ?> ``` ### Default Clause ```php "A", 80, 81, 82, 83, 84, 85, 86, 87, 88, 89 => "B", 70, 71, 72, 73, 74, 75, 76, 77, 78, 79 => "C", default => "Need improvement", }; ?> ``` ### match vs switch ```php "Match!", // Won't match "10" => "Exact match!", // This matches }; ?> ``` ## for Loop ### Basic for ```php ``` ### Multiple Loop Variables ```php ``` ### Counting Down ```php 0; $i--) { echo $i . "\n"; // 5, 4, 3, 2, 1 } ?> ``` ### Stepping by N ```php ``` ## foreach Loop ### Indexed Arrays ```php ``` ### With Index ```php $color) { echo "$index: $color\n"; } // 0: red // 1: green // 2: blue ?> ``` ### Associative Arrays ```php "Alice", "age" => 25, "city" => "Paris" ]; foreach ($person as $key => $value) { echo "$key: $value\n"; } ?> ``` ### By Reference ```php ``` ## while Loop ### Basic while ```php ``` ### while with Condition First ```php ``` ## do-while Loop ### Executes at Least Once ```php ``` ### Menu Example ```php ``` ## break and continue ### break - Exit Loop ```php ``` ### break with Level ```php 4) { $found = true; break 2; // Break outer loop } } } ?> ``` ### continue - Skip Iteration ```php ``` ### continue with Level ```php ``` ## Nested Loops ### Basic Nesting ```php ``` ### Triangle Pattern ```php ``` ## Common Patterns ### Sum 1 to N ```php ``` ### Find in Array ```php ``` ### Count Matches ```php ``` ### FizzBuzz ```php ``` ## Summary - if/elseif/else for conditional logic - switch for multiple discrete values (uses loose comparison) - match (PHP 8+) for strict comparison, returns values - for loop for known iterations - foreach for arrays (by value or reference) - while for condition-based iteration - do-while for at-least-once iteration - break exits loop; continue skips iteration - Specify break/continue level for nested loops

Comments

Comments powered by Giscus

To enable comments, add your Giscus embed code here.

Learn more about Giscus →