Δομές ελέγχου PHP: Εάν διαφορετικά, Switch Case

⚡ Έξυπνη Σύνοψη

Οι Δομές Ελέγχου και οι Βρόχοι καθορίζουν την πορεία που ακολουθεί ένα πρόγραμμα PHP και επαναλαμβάνουν αποτελεσματικά τα μπλοκ κώδικα. Αυτή η αναλυτική παρουσίαση εξηγεί τις δομές απόφασης if-else και switch, και στη συνέχεια καλύπτει τους βρόχους for, while, do-while και foreach που αναμένουν οι ανταγωνιστές σε αυτό το θέμα.

  • 🔀 Ροή ελέγχου: Μια δομή ελέγχου επιλέγει ποιος κώδικας εκτελείται με βάση μια συνθήκη, μετατρέποντας μια ευθεία ακολουθία σε λογική που βασίζεται σε αποφάσεις.
  • 🔤 Αν-Αλλιώς: Η δομή if-else εκτελεί ένα μπλοκ όταν μια συνθήκη είναι αληθής και ένα εφεδρικό μπλοκ όταν είναι ψευδής.
  • 🧮 Διακόπτης-Θήκη: Ο διακόπτης συγκρίνει μια τιμή με πολλές ετικέτες περίπτωσης και εκτελεί το αντίστοιχο μπλοκ ή την προεπιλεγμένη όταν καμία δεν ταιριάζει.
  • 🔁 Επισκόπηση βρόχων: Οι βρόχοι επαναλαμβάνουν ένα μπλοκ κώδικα, γλιτώνοντάς σας από το να γράφετε τις ίδιες εντολές πολλές φορές.
  • 🔢 Μέτρηση βρόχων: για και ενώ επαναλάβετε ενώ ισχύει μια συνθήκη, ιδανικό όταν γνωρίζετε ή track πόσες επαναλήψεις χρειάζονται.
  • 📦 Βρόχος Foreach: Το foreach περνάει μέσα από κάθε στοιχείο ενός πίνακα χωρίς να διαχειρίζεται μόνος του έναν μετρητή ευρετηρίου.
  • 🤖 AI Assist: Τα εργαλεία τεχνητής νοημοσύνης μπορούν να αναδιαμορφώσουν μεγάλες αλυσίδες if-else σε εντολές switch ή match και να βοηθήσουν στη διόρθωση άπειρων βρόχων.

Δομές ελέγχου PHP και βρόχοι

Τι είναι μια δομή ελέγχου;

Code Η εκτέλεση μπορεί να ομαδοποιηθεί σε κατηγορίες όπως φαίνεται παρακάτω.

  • Διαδοχική – αυτό περιλαμβάνει την εκτέλεση όλου του κώδικα με τη σειρά που έχει γραφτεί.
  • Απόφαση – αυτό περιλαμβάνει την επιλογή μιας σειράς επιλογών. Ο κώδικας που εκτελείται εξαρτάται από την τιμή της συνθήκης.

Μια δομή ελέγχου είναι ένα μπλοκ κώδικα που αποφασίζει τη διαδρομή εκτέλεσης ενός προγράμματος ανάλογα με την τιμή της συνθήκης που έχει οριστεί.

Ας δούμε τώρα μερικές από τις δομές ελέγχου που PHP υποστηρίζει.

PHP IF Else

Αν… τότε… άλλο είναι το απλούστερη δομή ελέγχουΑξιολογεί τις συνθήκες χρησιμοποιώντας λογική Boolean.

Πότε να χρησιμοποιήσετε εάν… τότε… άλλο

  • Έχετε ένα μπλοκ κώδικα που πρέπει να εκτελείται μόνο εάν μια συγκεκριμένη συνθήκη είναι αληθής
  • Έχετε δύο επιλογές και πρέπει να επιλέξετε μία.
  • Εάν… τότε… αλλιώς εάν… χρησιμοποιείται όταν πρέπει να επιλέξετε περισσότερες από δύο επιλογές και πρέπει να επιλέξετε μία ή περισσότερες

Σύνταξη. Η σύνταξη για το if… then… else είναι:

<?php
if (condition is true) {
    block one
} else {
    block two
}
?>

ΕΔΩ,

  • "αν (η συνθήκη είναι αληθής)«είναι η δομή ελέγχου»
  • "μπλοκ ένα” είναι ο κώδικας που πρέπει να εκτελεστεί εάν η συνθήκη είναι αληθής
  • αλλιώς είναι η εναλλακτική εάν η συνθήκη είναι ψευδής
  • "μπλοκ δύο” είναι το μπλοκ κώδικα που εκτελείται εάν η συνθήκη είναι ψευδής

Πως δουλεύει. Το διάγραμμα ροής που φαίνεται παρακάτω δείχνει πώς λειτουργεί η δομή ελέγχου if… then… else.

PHP IF Else

Ας το δούμε αυτό στην πράξη. Ο παρακάτω κώδικας χρησιμοποιεί το "αν… τότε... άλλο" για να προσδιορίσει τη μεγαλύτερη τιμή μεταξύ δύο αριθμών.

<?php

$first_number = 7;

$second_number = 21;

if ($first_number > $second_number){

echo "$first_number is greater than $second_number";

}else{

echo "$second_number is greater than $first_number";

}

?>

Παραγωγή:

21 is greater than 7

Θήκη διακόπτη PHP

Διακόπτης… θήκη είναι παρόμοιο με το αν… τότε… αλλιώς δομή ελέγχου.

Μόνο εκτελεί ένα μόνο μπλοκ κώδικα ανάλογα με το αξία της κατάστασης.

Εάν δεν έχει ικανοποιηθεί καμία συνθήκη, τότε εκτελείται το προεπιλεγμένο μπλοκ κώδικα.

Έχει την εξής βασική σύνταξη.

<?php
switch(condition){

case value:

// block of code to be executed

break;

case value2:

// block of code to be executed

break;

default:

// default block code

break;

}
?>

ΕΔΩ,

  • "διακόπτης(…){…}" είναι ο κωδικός μπλοκ δομής ελέγχου
  • "case value: case..." είναι τα μπλοκ κώδικα που πρέπει να εκτελεστούν ανάλογα με την τιμή της συνθήκης
  • "Προκαθορισμένο:" είναι το μπλοκ κώδικα που θα εκτελεστεί όταν καμία τιμή δεν ταιριάζει με τη συνθήκη

Πώς λειτουργεί

Το παρακάτω διάγραμμα ροής δείχνει πώς λειτουργεί η δομή ελέγχου διακόπτη.

Θήκη διακόπτη PHP

Πρακτικό παράδειγμα

Ο παρακάτω κώδικας χρησιμοποιεί τη δομή ελέγχου διακόπτη για να εμφανίσει ένα μήνυμα ανάλογα με την ημέρα της εβδομάδας.

<?php

$today = "wednesday";

switch($today){

case "sunday":

echo "pray for us sinners.";

break;

case "wednesday":

echo "ladies night, take her out for dinner";

break;

case "saturday":

echo "take care as you go out tonight.";

break;

default:

echo "have a nice day at work";

break;

}

?>

Παραγωγή:

ladies night, take her out for dinner

Βρόχοι PHP

Οι βρόχοι είναι δομές ελέγχου που επαναλαμβάνουν ένα μπλοκ κώδικα όσο μια συνθήκη παραμένει αληθής. Σας γλιτώνουν από το να γράφετε την ίδια πρόταση πολλές φορές. Η PHP υποστηρίζει τέσσερις τύπους βρόχων: for, while, do-while και foreach. Για μια πιο λεπτομερή περιγραφή, ανατρέξτε στο ειδικό Εκμάθηση βρόχου PHP.

PHP For Loop

Ο βρόχος for χρησιμοποιείται όταν γνωρίζετε εκ των προτέρων πόσες φορές πρέπει να εκτελεστεί ο κώδικας. Συνδυάζει τον μετρητή, τη συνθήκη και την αύξηση σε μία γραμμή.

<?php
for ($i = 0; $i < 5; $i++) {
    echo $i;
}
?>

Παραγωγή:

01234

PHP While Loop

Ο βρόχος while επαναλαμβάνει ένα μπλοκ για όσο διάστημα η συνθήκη του παραμένει αληθής. Η συνθήκη ελέγχεται πριν από κάθε επανάληψη, επομένως το σώμα μπορεί να εκτελεστεί μηδέν φορές.

<?php
$i = 0;
while ($i < 5) {
    echo $i;
    $i++;
}
?>

Παραγωγή:

01234

Επαναλαμβανόμενος βρόχος PHP Do-While

Ο βρόχος do-while είναι παρόμοιος με τον βρόχο while, αλλά ελέγχει την συνθήκη μετά το σώμα. Αυτό εγγυάται ότι το μπλοκ θα εκτελεστεί τουλάχιστον μία φορά.

<?php
$i = 0;
do {
    echo $i;
    $i++;
} while ($i < 5);
?>

Παραγωγή:

01234

PHP Foreach Loop

Ο βρόχος foreach έχει σχεδιαστεί για πίνακες. Διατρέχει κάθε στοιχείο χωρίς να διαχειρίζεστε έναν μετρητή ευρετηρίου.

<?php
$colors = array("red", "green", "blue");
foreach ($colors as $color) {
    echo $color . " ";
}
?>

Παραγωγή:

red green blue

Συχνές Ερωτήσεις

Χρησιμοποιήστε τη συνάρτηση switch όταν συγκρίνετε μια μεταβλητή με πολλές σταθερές τιμές, καθώς είναι πιο εύκολο να διαβαστεί από μια μακρά αλυσίδα if-else. Χρησιμοποιήστε τη συνάρτηση if-else για εύρη τιμών, σύνθετες συνθήκες ή συγκρίσεις που περιλαμβάνουν διαφορετικές μεταβλητές.

Η εντολή break σταματά εντελώς τον βρόχο και μετακινείται στον κώδικα που ακολουθεί. Η εντολή continue παραλείπει το υπόλοιπο της τρέχουσας επανάληψης και μεταβαίνει στην επόμενη, χωρίς να τερματίζει εντελώς τον βρόχο.

Το match είναι μια σύγχρονη εναλλακτική λύση στο switch που εισήχθη στην PHP 8. Επιστρέφει μια τιμή, χρησιμοποιεί αυστηρή σύγκριση, δεν χρειάζεται εντολές break και δημιουργεί σφάλμα εάν δεν ταιριάζει κανένας βραχίονας, καθιστώντας την ασφαλέστερη και πιο συνοπτική.

Ναι. Η τεχνητή νοημοσύνη μπορεί να ξαναγράψει μια μακρά αλυσίδα if-else ως ισοδύναμο διακόπτη ή έκφραση αντιστοίχισης PHP 8, ας πούμε...ping η λογική είναι η ίδια, ενώ παράλληλα ο κώδικας είναι συντομότερος και πιο ευανάγνωστος. Δοκιμάστε το αποτέλεσμα στη συνέχεια.

Ναι. Η Τεχνητή Νοημοσύνη μπορεί να ελέγξει την κατάσταση και τον μετρητή του βρόχου σας, να εντοπίσει μια προσαύξηση που λείπει ή μια συνθήκη που δεν γίνεται ποτέ ψευδής και να προτείνει τη διόρθωση, ώστε ο βρόχος να τερματιστεί όπως προβλέπεται.

Συνοψίστε αυτήν την ανάρτηση με: