[php] جملة break وطريقة استخدامها

مدرج تحت قسم: دروس
23 فبراير 2008

يتكون اي برنامج php من سلسلة من الجمل والاوامر ، تكون الجمل عبارة عن دوال او جمل شرطية او اي اوامر اخرى يحتاجها المبرمج.

اليوم سأتكلم عن واحدة من هذه الجمل هي break

هذه الجملة لها استخدامات عديدة والاستخدام الشائع لها في تركيب switch ، لكن لها استخدام اخر داخل حلقة التكرار (loop) وفائدتها تجعل compiler يخرج من حلقة التكرار

سنرى هذا المثال بدون إستخدام break ،

المثال : لدي مصفوفة مكونة من 5 عناصر اريد البحث عن اذا كان هناك عنصر يساوي 0


$items = array(1, 2, 3, 0, 4, 5);

$c = count($items);
$i = 0;

while ($i < $c)
{
if ($items[$i] == 0) {
echo '0 item is found';
}

$i++;
}

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

يوجد حلين لهذه المشكلة ، الاول استخدام break والاخر سأذكره بعد قليل،

بإستخدام break سيكون الكود :


$items = array(1, 2, 3, 0, 4, 5);

$c = count($items);
$i = 0;

while ($i < $c)
{
if ($items[$i] == 0) {
echo '0 item is found';
break;
}

$i++;
}

هنا سيتوقف loop بعد إيجاد العنصر المطلوب ولن يكمل الى نهاية المصفوفة.

ملاحظة : بعض المبرمجين لا يرغبون في إستخدام جملة break ، ويفضلون إستخدام طرق اخرى لتنفيذ مهمة break ، لنأخذ واحدة من هذه الطرق

سنستخدم نفس المثال السابق:


$items = array(1, 2, 3, 0, 4, 5);

$flag = false;
$c = count($items);
$i = 0;

while ($i < $c && $flag !== true)
{
if ($items[$i] == 0) {
$flag = true;
}

$i++;
}

وأخيراً، فإن أصبت فمن الله وإن أخطأت فمن نفسي والشيطان، ومن له رأي أو ملاحظة، فيمكننا نقاش ذلك هنا.

روابط ذات صلة :

للكاتب Pal Coder

  • Share/Bookmark

التعليقات (8) على ”[php] جملة break وطريقة استخدامها“

  1. عبدالله خالد

    السلام عليكم،،
    بارك الله فيك أخي “بال كودر”

    لي تحفظ على التسمية “جملة”… هذه جاءت ترجمة للفظ “Statement” وهي لفظة تطلق على السطر البرمجي أو ما ينتهي بفاصلة منقوطة “؛”.
    والترجمة الصحيحة – في رأيي – هي “العبارة”

    ولي سؤال:
    أي الطريقتين التي ذكرتهما أفضل للمترجم “Compiler”؟
    أخوك

  2. شكرا على الشرح ..كفيت ووفيت

  3. أحمد

    أشكرك,

    ما رأيك في استخدام exit; بدلاً من break; ؟ , وما هي الدالة الأسرع بينهما ؟ وهل تنصح باستخدامها بشكل مكثف في السكربت في الشروط وغيرها لزيادة سرعة السكربت ؟

  4. عبدالله خالد

    أخي أحمد
    exit تستخدم للخروج من البرنامج كله وليس من loop معينة
    هذا هو الفرق بينهما

    أخوك

  5. عبد الله خالد
    اولا : بالنسبة للترجمة ، الصراحة انا اواجه مشكلة فعلا في ترجمة المصطلحات الى اللغة العربية خصوصا ان بعض المصطلحات العربية عندما تسمعها تعتقد انها لا تمت بصلة للامر نفسه
    ثانيا : بالنسبة للفرق ، لا يوجد هناك فرق وحسب ما اعرف وما قرأته انه لا فرق في الاداء بين break و الطرق الاخرى

    Social wonders
    شكرا لك

    أحمد
    كما ذكر اخي عبد الله ، exit تخرج من البرنامج كله ، اما break فتخرج من loop والامر exit مشابه للامر die

    شكرا لكم

  6. قاتل البيسك

    السلام عليكم

    شرح رائع وموفق

    اخوي اريد ان اسألك بخصوص الطريقتين

    ايهما افضل من ناحية سرعة التنفيذ وقلة الضغط في البرمجة

    وشكرا لك

  7. أخى قاتل البيسك :

    ذكر أخى Pal Coder فى رده على هذا الإستفسار :
    [quote]
    بالنسبة للفرق ، لا يوجد هناك فرق وحسب ما اعرف وما قرأته انه لا فرق في الاداء بين break و الطرق الاخرى[/quote]

    جزاك الله خيراً Pal Coder على المعلومات الجميله

  8. شكرا لك اخى عاشق الصداقه

أضف تعليقك




يمكنك استخدام الوسوم التالية في التعليق: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>


* حقول مطلوبة