Μάθημα : ΣΧΕΔΙΑΣΜΟΣ ΚΑΙ ΑΝΑΠΤΥΞΗ ΔΙΑΔΙΚΤΥΑΚΩΝ ΕΦΑΡΜΟΓΩΝ - Γ'ΕΠΑΛ

Κωδικός : S151119

S151119 - ΑΝΔΡΕΑΣ ΧΑΤΖΗΑΓΑΠΙΟΥ

Ενότητες μαθήματος

Ενότητα 8η - Δομή Επανάληψης (while/for statements)

Βρόχος while

Επαναλαμβανόμενα εκτελεί τις εντολές όσο ισχύει η συνθήκη.

  • αν η συνθήκη είναι ψευδής εξαρχής τότε οι εντολές δεν εκτελούνται καμία φορά
  • αν η συνθήκη είναι αληθής τότε εκτελούνται οι εντολές. Μετά ελέγχεται ξανά η συνθήκη. Αν συνεχίζει να είναι αληθής τότε εκτελούνται πάλι οι εντολές κοκ,
while (συνθήκη) {
 #εντολές
}

Υπάρχει και η μορφή while με : χωρίς να χρειάζεται αγκύλες. Το τέλος των εντολών ορίζεται με την endwhile;

while (συνθήκη):
 #εντολές
endwhile;

Παράδειγμα - while

Στο παρακάτω κώδικα χρησιμοποιούνται 3 μεταβλητές. Ο αριθμός $k (ξεκινάει από το 1), το τέλος $n και το άθροισμα $s. Όσο ο αριθμός $k είναι μικρότερος ή ίσος από το $n προστίθεται o $k στο άθροισμα $s = $s + $k και μετά αυξάνεται o $k = $k +1. 

<?php
// Το άνω όριο για να σταματήσει η επανάληψη while
$n=100;
// Η αρχική τιμή του αθροίσματος $s
$s=0;
// Ο πρώτος αριθμός:
$k=1;
// Υπολογίζει το άθροισμα $s μέσα στην επανάληψη
while($k<=$n){
$s+=$k; // Προσθέτει τον όρο στο άθροισμα $s
$k++; // Ο νέος αριθμός αυξάνεται κατά 1
}
echo "Το άθροισμα όλων των αριθμών από το 1 μέχρι το 100 είναι " . $s;
?>

Εκτελέστε το παράδειγμα. Τι εμφανίζει;

Βρόχος do...while

Επαναλαμβανόμενα εκτελεί τουλάχιστον μια φορά τις εντολές. Μετά ελέγχει την συνθήκη. Αν είναι true τότε εκτελέι πάλι τις εντολές και ξαναελέγχει την συνθήκη μέχρι να γίνει false.

do {
  #εντολές
} while (συνθήκη) 

Βρόχος for

Επαναλαμβανόμενα εκτελεί

for(μέρος1 ; μέρος2 ; μέρος3){
  #εντολές

Μέρος 1: Εκτελείται μια φορά, ακριβώς πριν την συνθήκη

Μέρος 2: Είναι η συνθήκη. Ελέγχεται η συνθήκη πριν από κάθε επανάληψη

Μέρος 3: Εκτελείται στο τέλος και μετά από την εκτέλεση των εντολών της for επανάληψης.

Παράδειγμα - for

<?php
for
($x = 1; $x <= 20; $x++) { echo "Είμαι στο : $x " . "\n"; }
?>

Εκτελέστε το παράδειγμα. Τι εμφανίζει;

Η έκφραση $x = 1 εκτελείται μια φορά στην αρχή. Θέτει το $x να είναι 1.

Η έκφραση $x <= 20 ελέγχεται πριν από κάθε επανάληψη. Αν είναι true τότε εκτελούνται οι παρακάτω εντολές

Η τρίτη έκφραση εκτελείται μετά από τις εντολές τις επανάληψης και πριν να ελεγχθεί η συνθήκη για την επόμενη επανάληψη. $x++ αυξάνει το $x κατά 1 και είναι το σύντομο ισοδύναμο του $x = $x +1

Βρόχος foreach

Βοηθάει στην επανάληψη αντικειμένων μέσα από πίνακα. Θα το χρησιμοποιήσουμε στο Project μας

foreach(array as variable){
# commands
}

Παράδειγμα 1 - foreach

<?php
# πίνακας χωρίς αρίθμηση. 0 => "red" 1 =>"green" κοκ
$colors
= array("red", "green", "blue", "yellow"); foreach ($colors as $x) { echo "$x" . "\n"; }
?>

Εκτελέστε το παράδειγμα. Τι εμφανίζει;

Παράδειγμα 2 - foreach

<?php
# πίνακας με αντιστοιχία key, value
$A=["X"=>100,"Y"=>200,"Z"=>300];

foreach($A as $v){
echo $v," ";
}
?>

Εκτελέστε το παράδειγμα. Τι εμφανίζει;

 

Ασκήσεις

Α. Να κάνετε τα κουιζ

  1. Γενικά https://www.w3schools.com/php/exercise.asp?x=xrcise_loops1
  2. while https://www.w3schools.com/php/exercise.asp?x=xrcise_loops_while1
  3. do...while https://www.w3schools.com/php/exercise.asp?x=xrcise_looping_do_while1
  4. for https://www.w3schools.com/php/exercise.asp?x=xrcise_looping_for1
  5. foreach https://www.w3schools.com/php/exercise.asp?x=xrcise_looping_foreach1

Β. Να εκτελέσετε τα παραδείγματα

1) https://tutor.edu.gr/php/repeat-structures

2) https://www.geeksforgeeks.org/php-foreach-loop/

 

Ασκήσεις για το σπίτι

Φυλλάδιο 5 - PHP scripts - Δομή Επανάληψης for/while/foreach