Le sujet du jour dans notre série des meilleures approches PHP : les boucles en PHP. Comment écrire une boucle PHP de qualité ? Quelles sont les astuces pour coder des boucles en PHP ? Découvrons ensemble.

Qu’est-ce que la boucle PHP ?

Les boucles PHP sont fréquemment utilisées pour opérer sur des ensembles de données et répéter des blocs de code. Cependant, une utilisation inefficace des boucles peut affecter considérablement les performances du script. Dans cet article, nous partagerons des bonnes pratiques et des exemples sur l'utilisation performante et efficace des boucles en PHP.

Exemples de boucles PHP

Si vous n'êtes pas familier avec les boucles PHP, commencez par : Cours de PHP Vous devriez examiner les exemples que nous avons préparés pour vous sur les cycles de notre série.

Choisissez le bon type de boucle

Il faut choisir une boucle adaptée à l’opération à réaliser en langage PHP. La boucle For ou Foreach ne convient pas à toutes les opérations ! Comprenons maintenant cela avec des exemples d'utilisation correcte et incorrecte.

Boucle PHP For

PHP for loop est le bon choix pour itérer avec des nombres.

Utilisation correcte: Idéal pour les situations où le nombre d’itérations est prédéterminé.

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

Utilisation abusive: Pour parcourir un tableau ou sans numéro d'itération for cycle d'utilisation.

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

Boucle PHP Foreach

PHP foreach La boucle est idéale pour parcourir des tableaux.

Utilisation correcte: Itère automatiquement sur chaque élément du tableau.

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

Utilisation abusive: foreach Lors de l'utilisation d'une structure de données non matricielle ou lorsqu'une itération basée sur un index est requise.

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

Boucle PHP while

PHP while boucle en PHP dans certains cas for et foreach Il peut être plus adapté selon les cycles. Le détail le plus important concerne les scénarios dans lesquels la condition de continuation de la boucle peut changer au sein de la boucle.

Utilisation correcte: Idéal pour les situations où la condition doit être vérifiée à l’intérieur de la boucle.

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

Utilisation abusive: Cas où la condition de boucle ne change jamais

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

Utilisation efficace et performante des boucles PHP

N'appelez jamais une fonction dans une boucle

L'appel répété de la même fonction dans la boucle peut avoir un impact négatif sur les performances, en particulier lorsque vous travaillez avec de grands ensembles de données. N'appelez jamais de fonctions dans des boucles. Cela donnera une odeur à votre code

Pour apprendre les significations et les différences entre le code odorant et le code propre code propre Vous pouvez lire notre article

Utilisation abusive

count() Appeler des fonctions comme dans une boucle.

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

Utilisation correcte

Appelez des fonctions en dehors de la boucle pour éviter les recalculs inutiles.

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

Cette approche count() Cela empêche la fonction d'être réexécutée à chaque itération, rendant ainsi la boucle plus efficace.

N'utilisez pas de requêtes et d'opérations lourdes dans les boucles

En PHP, en particulier lorsque vous travaillez avec de grands ensembles de données, l'utilisation de requêtes et d'opérations pouvant entraîner des problèmes de performances dans une boucle entraîne des problèmes de performances majeurs et une consommation excessive de ressources.

Utilisation abusive

Dans cet exemple, la requête de base de données est utilisée dans une boucle foreach. Une requête distincte s'exécute pour chaque utilisateur à chaque itération, ce qui entraîne de sérieux problèmes de performances.

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

Utilisation correcte

Dans cet exemple, toutes les données nécessaires sont reçues en dehors de la boucle avec une requête SQL optimisée, et les données reçues sont traitées dans la boucle. La boucle ne fonctionne que sur les données extraites de la base de données, minimisant ainsi le nombre de requêtes effectuées à chaque itération.

$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
}

Boucles PHP

Les performances et l'utilisation efficace des boucles PHP augmentent l'efficacité du code, optimisent l'utilisation des ressources et évitent les problèmes de performances potentiels. Choisir les bons types de boucles, augmenter l'efficacité des boucles et prêter attention à la gestion des ressources sont des approches clés qui vous aideront à obtenir de meilleurs résultats lors de l'utilisation des boucles PHP. En appliquant ces approches, vous pouvez rendre vos codes plus rapides, plus propres et plus lisibles.