موضوع امروز در سری بهترین رویکردهای پی اچ پی ما: حلقه ها در 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() از اجرای مجدد تابع در هر تکرار جلوگیری می کند، بنابراین حلقه کارآمدتر می شود.

از Queries و Heavy Operations در Loops استفاده نکنید

در 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 کمک می کنند. با استفاده از این رویکردها، می توانید کدهای خود را سریعتر، تمیزتر و خواناتر کنید.