Δημοσιεύτηκε: 14 Ιουν 2011, 18:11
από M.Jackson
Ακόμα ένα αναπόσπαστο κομμάτι του προγραμματισμού είναι ο έλεγχος ροής δεδομένων. Με αυτή τη μέθοδο κάνουμε τα προγράμματα μας γενικά. Τι θέλω να πω με το γενικά; Αυτό που θέλω να πω είναι ότι η έξοδος/το αποτέλεσμα του προγράμματος μας θα το επιστρέφει ανάλογα με την είσοδο.
ΑΝ ο χρήστης δώσει τον αριθμό 1 ΤΟΤΕ να επιστρέφει Δευτέρα
ΑΝ ο χρήστης δώσει τον αριθμό 2 ΤΟΤΕ να επιστρέφει Τρίτη.

Να ενημερώσω, ένα από τα χαρακτηριστικά ενός καλού αλγόριθμου είναι να είναι γενικός!

IF...THEN (ΑΝ...ΤΟΤΕ)
Μια από τις πιο συχνές δομές στον προγραμματισμό. Στην PHP η δομή αυτή είναι απλή, αρκετά απλή.

Δομή
Κώδικας: Επιλογή όλων

if (συνθήκη)
{
εντολές...
}


Παράδειγμα
Κώδικας: Επιλογή όλων

<?php

$x=1;
$y=0;

if ($x>$y)
{
die ("Είμαι μέσα στο IF!!");
}

?>


IF...THEN...ELSE

Πίο πάνω είδαμε πώς ελέγχουμε μια συνθήκη αν είναι αληθής, στον προγραμματισμό χρειαζόμαστε και το ενδεχόμενο να είναι ψευδής. Απλά με την λέξη ELSE μπορούμε να εκτελέσουμε εντολές όταν η συνθήκη είναι ψευδής.

Κώδικας: Επιλογή όλων
if (συνθήκη)
εντολή/ες αν η συνθήκη είναι αληθής;
else
εντολή/ες αν η συνθήκη είναι ψευδής;


Παράδειγμα
Κώδικας: Επιλογή όλων

<?php

$x = 5;
$y = 1;

If ($x>$y)
{
die ("x is biger than y!");
}
else
{
die("x is smaller than y!");
}

?>


TIP&TRICK: Αν εκτελούμε μία εντολή κάτω από το if ή το else μπορούμε να το γράψουμε δίπλα παρά από κάτω, έτσι εξοικονομούμε χώρο.
π.χ
Κώδικας: Επιλογή όλων
If($x>$y) die("Hey");


TIP&TRICK 2: Επίσης τα {} μπορούμε να τα αγνοήσουμε εαν έχουμε μόνο μια εντολή, διαφορετικά τα βάζουμε.
π.χ
Κώδικας: Επιλογή όλων

if ($x=$y)
echo("True");
else
echo("False");


Κώδικας: Επιλογή όλων

if($x=$y)
{
echo("Hello");
echo("World");
}
else
die("False");


IF...ELSEIF..ELSE
Ωραία ελέγξαμε αν η συνθήκη είναι αληθής, και αν δεν είναι. Αν όμως έχουμε περισσότερες από μια συνθήκες; Μπορούμε να φτιάξουμε δυο ξεχωριστά if αλλά έχουμε και κάτι πιο απλό.

Κώδικας: Επιλογή όλων
if (συνθήκη)
κώδικας αν η συνθήκη είναι αληθής;
elseif (συνθήκη)
κώδικας αν η συνθήκη είναι αληθής;
else
κώδικας αν η συνθήκες πιο πάνω ήταν όλες ψευδής;


παράδειγμα
Κώδικας: Επιλογή όλων

<?php
$var = 5;
$another_var = 1;

$example = $var.$another_var;

if ($var==$another_var) echo "EQUAL";
elseif ($example==(52-1))
{
echo("TRUE, 51");
echo("I Love PHP");
}
else die("Nothing...");
?>


Switch Case
Ωραία η If αλλά ρε παιδί μου έχω ένα πρόβλημα με 10δες συνθήκες πιάστηκε το χέρι μου άσε που μπορεί να έκανα κάπου λάθος με τόσες συνθήκες! Πάρε την Switch :)

Με την switch επιλέγουμε μια συγκεκριμένη μεταβλητή και με ένα πολλή πιο μικρο κώδικα μπορούμε να ελέγξουμε διάφορες συνθήκες.

Κώδικας: Επιλογή όλων
switch (n)
{
case συνθήκη1:
κώδικας αν η συνθήκη1 ισχύει;
break;
case συνθήκη2:
κώδικας αν η συνθήκη1 ισχύει;
break;
default:
κώδικας αν η συνθήκες πιο πάνω δεν ήταν αληθής;
}


παράδειγμα

Κώδικας: Επιλογή όλων
<?php
$χ = 100;

switch ($x)
{
case 10:
echo "Number 10";
break;
case 2:
echo "Number 20";
break;
case 3:
echo "Number 30";
break;
default:
echo "No number between 40 and 100";
}
?>


Το break είναι μια εντολή που σταματά οποιαδήποτε βρόχο/συνθήκη. Αρά θα ήταν πιο έξυπνο να το χρησιμοποιούμε στην Switch έτσι ώστε να μην χρειάζεται η γλώσσα να ελέγχει άσκοπα τις άλλες συνθήκες σπαταλώντας έτσι πόρους, από τη στιγμή που η συνθήκη βρέθηκε και οι εντολές εκτελέστηκαν.