LOOPS & ARRAYS (ΜΑΘΗΜΑ 5)

...ασύγχρονα μαθήματα γλώσσας PHP

LOOPS & ARRAYS (ΜΑΘΗΜΑ 5)

Δημοσίευσηαπό M.Jackson » 15 Ιουν 2011, 20:29

Συνήθως διδάσκονται πρώτα τα arrays και μετά τα loops άλλα εγώ προτιμώ να κάνω το αντίστροφο για πρακτικούς λόγους.

Τι είναι ο βρόχος/loop
Ο βρόχος είναι μια μέθοδος η οποία αναλαμβάνει να εκτελέσει για εμάς 10δες, 100δες, 1000δες φορές κάποιες εντολές που βρίσκονται μέσα στον βρόχο τις οποίες ονομάζουμε το σώμα του βρόχου. Είναι βολικό και εύκολο να εκτελέσουμε πολλές εντολές για να φτάσουμε στο επιθυμητό αποτέλεσμα.

For Loop
Έχουμε τον βρόχο For ο οποίος είναι και ο οποίο γνωστός. Ο βρόχος αυτός αναλαμβάνει να εκτελέσει τις εντολές όταν ξέρουμε τον αριθμό/φορές που θα εκτελεστούν οι εντολές. Δηλαδή από την αρχή θα πρέπει να καθορίσουμε πόσες φορές θέλουμε να έχουμε το loop.

Κώδικας: Επιλογή όλων
for (αρχική τιμή; συνθήκη; αύξηση)
{
   εντολές που θα εκτελεστούν
}




Αναλυτικότερα:
Κώδικας: Επιλογή όλων
<?php

for ($i=1; $i<=3; $i++)
{
  echo "Είμαι μέσα στο βρόχο στον αριθμό " . $i . "<br />";
}

?>


Αποτέλεσμα:
Είμαι μέσα στο βρόχο στον αριθμό 1
Είμαι μέσα στο βρόχο στον αριθμό 2
Είμαι μέσα στο βρόχο στον αριθμό 3



Ο foreach βρόχος
Είναι μια μέθοδο που πρώτη φορά συνάντησα στον προγραμματισμό. Ο βρόχος αυτός μας βοηθάει και μας κάνει πιο εύκολη την πλοήγηση/εκχώρηση σε ένα πίνακα / array. Ακόμα δεν αναφερθήκαμε για τα Arrays θα το κάνουμε λίγο πιο κάτω γιαυτό καλά είναι να ρίξετε μια ματιά στα Array και μετά να επιστρέψετε σε αυτό το βρόχο.

Κώδικας: Επιλογή όλων
foreach ($array as $value)
{
  ο κώδικας που θα εκτελεστεί;
}


Αναλυτικότερα:
Κώδικας: Επιλογή όλων
<?php

$pinakas = array("I Love","PHP","Programming"); // γεμίζουμε τον πίνακα - τύπου String - με 4 τιμές.

foreach ($pinakas as $value)
{
  echo $value . " ";
}
?>


Αποτέλεσμα:
I Love PHP Programming


Όπως θα έχετε καταλάβει δεν αρχικοποιούμε κάποια μεταβλητή - βλέπε i=1 - ούτε χρειάζεται να γράψουμε κάποια συνθήκη ή να αυξήσουμε το counter.


Ο While βρόχος
Με την while μπορούμε να κάνουμε το for αλλά και κάτι παραπάνω από την for, με την for δεν μπορούμε να κάνουμε πλήρης την while. Τι είναι αυτό που έχει παραπάνω από την for; Με την while μπορούμε να εκτελούμε εντολές μέχρι να γίνει αληθής η συνθήκη μας. Άρα δεν έχουμε κάποιο συγκεκριμένο αριθμό ή περιορισμό που θα θέσουμε στην αρχή.

Κώδικας: Επιλογή όλων
while (συνθήκη)
{
  εντολές;
}


Αναλυτικότερα:

Κώδικας: Επιλογή όλων
<?php
$i=1;
while($i<=3)
{
  echo "Είμαι μέσα στο βρόχο στον αριθμό " . $i . "<br />";
  $i++;
}
?>


Αποτέλεσμα:
Είμαι μέσα στο βρόχο στον αριθμό 1
Είμαι μέσα στο βρόχο στον αριθμό 2
Είμαι μέσα στο βρόχο στον αριθμό 3


Αναλυτικότερα 2:
Κώδικας: Επιλογή όλων
<?php
$counter = 0;
while($counter<=5)
{
      if($counter == 0) $counter = 3;
      $counter++;
      echo ($counter);
}
?>


Αποτέλεσμα
456



Do...While βρόχος
Ακόμη ένας βρόχος ο οποίος εκτελεί τις εντολές του σώματος ΤΟΥΛΑΧΙΣΤΟΝ μια φορά έστω και αν η συνθήκη είναι -θεωρητικά- "ψευδής"! Είναι χρήσιμο όταν θέλουμε να ελέγξουμε σωστή είσοδο δεδομένων από το χρήστη.

Κώδικας: Επιλογή όλων
do
{
  εντολές;
}
while (συνθήκη);


Αναλυτικότερα:
Κώδικας: Επιλογή όλων
<?php
$i=1;
do
{
  $i++;
  echo "Αριθμός: " . $i . "<br />";
}
while ($i<=5);
?>


Αποτέλεσμα:
Αριθμός: 2
Αριθμός: 3
Αριθμός: 4
Αριθμός: 5
Αριθμός: 6


Βασικά οι εντολές μέσα στο σώμα εκτελούνται μέχρι η συνθήκη να γίνει αληθής και όχι ψευδής. Γιαυτό έγραψα θεωρητικά πιο πάνω γιατί οι εντολές εκτελούνται μέχρι η συνθήκη να γίνει αληθής.

Arrays - ΠΙΝΑΚΕΣ
Τα Arrays είναι θέσης μνήμης που μπορούν να αποθηκεύσουν πολλά - ιδίου τύπου - στοιχεία σε ένα όνομα μεταβλητής. Είναι αρκετά χρήσιμα το μόνο μειονέκτημα είναι ότι - θεωρητικά - σπαταλάει άσκοπο χώρο ή ο χώρος δεν αρκεί διότι δηλώνουμε στην αρχή το μέγεθος του πινάκα. Αυτό το μειονέκτημα δεν είναι πάντα μιας και μπορούμε να το αντιμετωπίσουμε.

Κώδικας: Επιλογή όλων
$pc=array("HP","Sony","Apple","Dell");

Με την πιο πάνω εντολή δηλώσαμε μια μεταβλητή Array τύπου String αλλά παράλληλα την γεμίσαμε με δεδομένα.

Άλλος τρόπος και πιο βαρετός
Κώδικας: Επιλογή όλων
$pc[0]="HP";
$pc[1]="Sony";
$pc[2]="Apple";
$pc[3]="Dell";


Αναλυτικότερα:
Κώδικας: Επιλογή όλων
<?php
$pc[0]="HP";
$pc[1]="Sony";
$pc[2]="Apple";
$pc[3]="Dell";
echo "Είμαι χρήστης " . $pc[0] . " και " . $pc[3] . " H/Y";
?>


Αποτέλεσμα:
Είμαι χρήστης HP και Dell Η/Υ
Άβαταρ μέλους
M.Jackson
daemonTUX
daemonTUX
 
Δημοσιεύσεις: 1053
Εγγραφή: 28 Μάιος 2010, 19:06
Εκτύπωση

Επιστροφή στο Μαθήματα PHP