موضوع اليوم في سلسلة أفضل أساليب PHP لدينا: الحلقات في PHP. كيف تكتب حلقة PHP عالية الجودة؟ ما هي حيل حلقات الترميز في PHP؟ دعونا نكتشف ذلك معًا.

ما هي حلقة PHP؟

تُستخدم حلقات PHP بشكل متكرر للعمل على مجموعات البيانات وتكرار كتل التعليمات البرمجية. ومع ذلك، يمكن أن يؤثر الاستخدام غير الفعال للحلقات بشكل كبير على أداء البرنامج النصي. في هذه المقالة، سوف نشارك أفضل الممارسات والأمثلة حول الاستخدام الفعال والفعال للحلقات في PHP.

أمثلة حلقة PHP

إذا لم تكن على دراية بحلقات PHP، أولاً: دروس PHP يجب عليك أن تفحص الأمثلة التي أعددناها لك حول الدورات من سلسلتنا.

اختر نوع الحلقة الصحيحة

من الضروري اختيار حلقة مناسبة للعملية التي سيتم تنفيذها بلغة PHP. حلقة For أو Foreach ليست مناسبة لكل عملية! الآن دعونا نفهم هذا من خلال أمثلة الاستخدام الصحيح وغير الصحيح.

PHP للحلقة

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

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 أثناء الحلقة

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. من خلال تطبيق هذه الأساليب، يمكنك جعل الرموز الخاصة بك أسرع وأكثر وضوحًا وأكثر قابلية للقراءة.