PHP ən yaxşı yanaşmalar seriyamızda bugünkü mövzumuz: PHP-də döngələr. Keyfiyyətli PHP döngəsini necə yazmaq olar? PHP-də döngələri kodlaşdırmağın hiylələri hansılardır? Gəlin birlikdə öyrənək.

PHP Loop nədir?

PHP döngələri məlumat dəstləri üzərində işləmək və kod bloklarını təkrarlamaq üçün tez-tez istifadə olunur. Bununla belə, döngələrin səmərəsiz istifadəsi skriptin işinə əhəmiyyətli dərəcədə təsir göstərə bilər. Bu yazıda biz PHP-də loopların effektiv və effektiv istifadəsi ilə bağlı ən yaxşı təcrübələri və nümunələri paylaşacağıq.

PHP Döngə Nümunələri

Əgər PHP döngələri ilə tanış deyilsinizsə, əvvəlcə: PHP dərsləri Seriallarımızdan dövrlər haqqında sizin üçün hazırladığımız nümunələri araşdırmalısınız.

Sağ Döngə Tipini seçin

PHP dilində yerinə yetiriləcək əməliyyata uyğun dövrə seçmək lazımdır. For və ya Foreach döngəsi hər əməliyyat üçün uyğun deyil! İndi gəlin bunu düzgün və yanlış istifadə nümunələri ilə anlayaq.

Döngü üçün PHP

PHP for loop rəqəmlərlə təkrarlamaq üçün düzgün seçimdir.

Düzgün İstifadə: İterasiyaların sayının əvvəlcədən müəyyən edildiyi vəziyyətlər üçün idealdır.

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

Sui-istifadə: Massiv üzərində və ya iterasiya nömrəsi olmadan təkrarlamaq for istifadə dövrü.

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 Döngə massivlər üzərində iterasiya üçün idealdır.

Düzgün İstifadə: Massivin hər bir elementi üzərində avtomatik təkrarlanır.

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

Sui-istifadə: foreach Qeyri-massiv məlumat strukturundan istifadə edərkən və ya indeks əsaslı iterasiya tələb olunduqda.

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 müəyyən hallarda PHP-də loop for və foreach Dövrlərdən asılı olaraq daha uyğun ola bilər. Ən vacib təfərrüat, döngənin davam vəziyyətinin döngə daxilində dəyişə biləcəyi ssenarilərdir.

Düzgün İstifadə: Vəziyyətin dövrə daxilində yoxlanılması lazım olduğu vəziyyətlər üçün idealdır.

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

Sui-istifadə: Döngə vəziyyətinin heç vaxt dəyişmədiyi hallar

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

PHP Döngülərindən Səmərəli İstifadə və Performans

Heç vaxt bir döngədə bir funksiyaya zəng etməyin

Döngü daxilində eyni funksiyanın təkrar-təkrar çağırılması, xüsusən də böyük məlumat dəstləri ilə işləyərkən performansa mənfi təsir göstərə bilər. Döngülərdə funksiyaları heç vaxt çağırmayın. Bu, kodunuzun qoxusunu yaradacaq

Qoxu kodu və təmiz kodun mənalarını və fərqlərini öyrənmək təmiz kod Məqaləmizi oxuya bilərsiniz

Sui-istifadə

count() Döngüdəki kimi çağırış funksiyaları.

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

Düzgün İstifadə

Lazımsız yenidən hesablamaların qarşısını almaq üçün dövrə xaricində funksiyaları çağırın.

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

Bu yanaşma count() O, funksiyanın hər iterasiyada yenidən icra edilməsinin qarşısını alır və beləliklə, dövrəni daha səmərəli edir.

Döngülərdə Sorğulardan və Ağır Əməliyyatlardan istifadə etməyin

PHP-də, xüsusən də böyük məlumat dəstləri ilə işləyərkən, bir dövrədə performans problemlərinə səbəb ola biləcək sorğu və əməliyyatlardan istifadə böyük performans problemlərinə və həddindən artıq resurs istehlakına səbəb olur.

Sui-istifadə

Bu nümunədə verilənlər bazası sorğusu foreach dövrəsində istifadə olunur. Hər iterasiyada hər bir istifadəçi üçün ayrıca sorğu işləyir və ciddi performans problemlərinə səbəb olur.

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

Düzgün İstifadə

Bu misalda bütün lazımi məlumatlar optimallaşdırılmış SQL sorğusu ilə dövrə xaricində qəbul edilir və alınan məlumatlar dövrə daxilində işlənir. Döngə yalnız verilənlər bazasından alınan məlumatlar üzərində işləyir, beləliklə, hər bir iterasiyada edilən sorğuların sayını minimuma endirir.

$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 Döngüləri

PHP döngələrinin performansı və səmərəli istifadəsi kodun səmərəliliyini artırır, resurs istifadəsini optimallaşdırır və potensial performans problemlərinin qarşısını alır. Düzgün dövrə növlərinin seçilməsi, döngələrdə səmərəliliyin artırılması və resursların idarə edilməsinə diqqət yetirilməsi PHP döngələrindən istifadə edərkən daha yaxşı nəticələr əldə etməyə kömək edəcək əsas yanaşmalardır. Bu yanaşmaları tətbiq etməklə siz kodlarınızı daha sürətli, təmiz və oxunaqlı edə bilərsiniz.