Το σημερινό θέμα στη σειρά βέλτιστων προσεγγίσεων της PHP: Βρόχοι στην PHP. Πώς να γράψετε έναν ποιοτικό βρόχο PHP; Ποια είναι τα κόλπα των βρόχων κωδικοποίησης στην PHP; Ας μάθουμε μαζί.

Τι είναι το PHP Loop;

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

Παραδείγματα βρόχου PHP

Εάν δεν είστε εξοικειωμένοι με τους βρόχους PHP, πρώτα: Μαθήματα PHP Θα πρέπει να εξετάσετε τα παραδείγματα που έχουμε ετοιμάσει για εσάς σχετικά με κύκλους από τη σειρά μας.

Επιλέξτε τον σωστό τύπο βρόχου

Είναι απαραίτητο να επιλέξετε έναν βρόχο κατάλληλο για τη λειτουργία που θα εκτελεστεί σε γλώσσα PHP. Ο βρόχος For ή Foreach δεν είναι κατάλληλος για κάθε λειτουργία! Τώρα ας το καταλάβουμε αυτό με παραδείγματα σωστής και λανθασμένης χρήσης.

PHP For Loop

PHP for Ο βρόχος είναι η σωστή επιλογή για επανάληψη με αριθμούς.

Σωστή χρήση: Ιδανικό για καταστάσεις όπου ο αριθμός των επαναλήψεων είναι προκαθορισμένος.

for ($i = 0; $i < 10; $i++) {
    echo "Number: " . $i . "<br>";
}

Κακή χρήση: Για επανάληψη σε πίνακα ή χωρίς αριθμό επανάληψης for κύκλος χρήσης.

for ($i = 0; $i < count($array); $i++) {
    // For döngüsü bunun için ideal bir çözüm değil. BUNU YAPMAYIN!
}

PHP Foreach Loop

PHP foreach Ο βρόχος είναι ιδανικός για επανάληψη σε πίνακες.

Σωστή χρήση: Επαναλαμβάνεται αυτόματα σε κάθε στοιχείο του πίνακα.

$colors = ["red", "green", "blue"];
foreach ($colors as $color) {
    echo "Color: " . $color . "<br>";
}

Κακή χρήση: foreach Όταν χρησιμοποιείτε μια δομή δεδομένων χωρίς πίνακα ή όταν απαιτείται επανάληψη βάσει ευρετηρίου.

foreach ($i = 0; $i < 10; $i++) {
    // Forach döngüsü bunun için ideal bir çözüm değil. BUNU YAPMAYIN!
}

PHP while Loop

PHP while βρόχο στην PHP σε ορισμένες περιπτώσεις for και foreach Μπορεί να είναι πιο κατάλληλο ανάλογα με τους κύκλους. Η πιο σημαντική λεπτομέρεια είναι τα σενάρια στα οποία η συνθήκη συνέχισης του βρόχου μπορεί να αλλάξει εντός του βρόχου.

Σωστή χρήση: Ιδανικό για καταστάσεις όπου η κατάσταση πρέπει να ελεγχθεί εντός του βρόχου.

$i = 0;
while ($i < 10) {
    echo "Sayı: " . $i . "<br>";
    $i++;
}

Κακή χρήση: Περιπτώσεις όπου η συνθήκη βρόχου δεν αλλάζει ποτέ

$counter = 0;
while ($counter < 10) {
    echo "Sayı: " . $counter . "<br>";
    // Sonsuz döngü (infinite loop) oluşacak. BUNU YAPMAYIN!
}

Χρήση βρόχων PHP αποτελεσματικά και απόδοση

Ποτέ μην καλείτε μια συνάρτηση σε βρόχο

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

Για να μάθετε τις έννοιες και τις διαφορές του κωδικού μυρωδιάς και του καθαρού κώδικα καθαρός κώδικας Μπορείτε να διαβάσετε το άρθρο μας

Κακή χρήση

count() Η κλήση λειτουργεί όπως σε βρόχο.

for ($i = 0; $i < count($array); $i++) {
    // yapılacak işlemler
}

Σωστή χρήση

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

$array_len = count($array);
for ($i = 0; $i < $array_len; $i++) {
    // yapılacak işlemler
}

Αυτή η προσέγγιση count() Αποτρέπει την επανεκτέλεση της συνάρτησης σε κάθε επανάληψη, καθιστώντας έτσι τον βρόχο πιο αποτελεσματικό.

Μην χρησιμοποιείτε ερωτήματα και βαριές λειτουργίες σε βρόχους

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

Κακή χρήση

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

foreach ($users as $user) {
    $userData = $database->query("SELECT * FROM user_data WHERE user_id = " . $user->id);
    // BUNU ASLA YAPMAYIN!
}

Σωστή χρήση

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

$userIds = array_map(function($user) { return $user->id; }, $users);
$userData = $database->query("SELECT * FROM user_data WHERE user_id IN (" . implode(',', $userIds) . ")");

foreach ($userData as $data) {
    // veritabanından alınan verileri işle
}

Βρόχοι PHP

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