تغطية مباشرة لأحداث منتدى الإعلام الجديد المقام بمدينة أبوظبي
هل تقترح تمديد مسابقة سوالف كاست؟

 

العودة   سوالف سوفت > قسم تطوير وبرمجة المواقع للمتقدمين > PHP
المدوّنات البحث مشاركات اليوم اجعل كافة المشاركات مقروءة

رد  
 
LinkBack أدوات الموضوع
عضو نشيط جدا
تاريخ التسجيل: Nov 2003-
#1 (permalink)  
[php] جملة break وطريقة استخدامها


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

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

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

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

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

كود PHP:
$items = array(123045);

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

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

$i++;

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

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

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

كود PHP:
$items = array(123045);

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

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

$i++;

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

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

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

كود PHP:
$items = array(123045);

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

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

$i++;

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

Control Structures
break


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






__________________
AlwatanVoice, www.alwatanvoice.com
Almashroo, www.almashroo.com

Pal Coder == Palestinian Coder
Pal Coder غير متواجد حالياً   قديم 24-02-2008, 10:32 PM
رد مع اقتباس
عضو سوبر نشيط
تاريخ التسجيل: Apr 2006-
#2 (permalink)  

شكرا لك اخي الكريم

استخدام break احسن من غيره من وجهة نظري مع انه لا يختلف مع الكود الأخير في استغراق الوقت






عبد الواحد البشيري غير متواجد حالياً   قديم 24-02-2008, 11:28 PM
رد مع اقتباس
عضو نشيط جدا
تاريخ التسجيل: Nov 2003-
#3 (permalink)  

نعم اخي Nadorino

انا كذلك افضل استخدامها ، لكن كان علي ان اوضح رأي بعض المبرمجين فيها

شكرا لك






__________________
AlwatanVoice, www.alwatanvoice.com
Almashroo, www.almashroo.com

Pal Coder == Palestinian Coder
Pal Coder غير متواجد حالياً   قديم 26-02-2008, 03:52 PM
رد مع اقتباس
عضو نشيط
تاريخ التسجيل: Jan 2008-
#4 (permalink)  

جربت عمل اختبار سرعة للطريقتين و ذلك بعمل دالتين تحتويان على الكودين و يتكرران 100000 مرة وجدت الآتي:

- باستخدام جملة break يستغرق تنفيذ التكرار 0.296s

- باستخدام لفظ التأكد مع while استغرق التنفيذ 0.388s

و هذا يعني أن break أسرع بنسبة 23.7%

تحياتي






mr_m غير متواجد حالياً   قديم 26-02-2008, 04:53 PM
رد مع اقتباس
عضو نشيط
تاريخ التسجيل: Jan 2008-
#5 (permalink)  

وايضا هناك
continue
وهي تختلف عن
break
في ان ال break
يقوم بلخروج من لووب اما
continue
تقوم بعملية اشبه بلقفز واستمرار في لووب
انظر الى مثال تالي
كود PHP:
<?php
 
 
 
for($i=-5;$i<=5;$i++)
 {
  if(
$i == 0)
  {
   
//echo "Zero eg undifiend value ";
   
continue;  
  }
  echo 
1/$i;
 }
 
?>






احمد شكر غير متواجد حالياً   قديم 27-02-2008, 12:30 AM
رد مع اقتباس
عضو نشيط
تاريخ التسجيل: Jan 2008-
#6 (permalink)  

مشكور






محمد منذر غير متواجد حالياً   قديم 01-03-2008, 12:05 PM
رد مع اقتباس
عضو جديد
تاريخ التسجيل: Jan 2008-
#7 (permalink)  

بارك الله فيك


معلومات قيمة






arabdesign غير متواجد حالياً   قديم 01-03-2008, 01:16 PM
رد مع اقتباس
عضو نشيط جدا
تاريخ التسجيل: Nov 2003-
#8 (permalink)  

mr_m
شكرا لك .. الكثير من الطرق تؤدي الى نتيجة واحدة لكن اهم شيئ سرعة التنفيذ

احمد شكر
نعم continue مفيدة جدا ، كنت اريد كتابة موضوع عنها لكن لم استطع ذلك لضيق الوقت .. شكرا لك

محمد منذر ، arabdesign
شكرا لكم على المرور






__________________
AlwatanVoice, www.alwatanvoice.com
Almashroo, www.almashroo.com

Pal Coder == Palestinian Coder
Pal Coder غير متواجد حالياً   قديم 05-03-2008, 03:09 PM
رد مع اقتباس
رد


 

أدوات الموضوع

تعليمات المشاركة
لا تستطيع كتابة مواضيع
لا تستطيع كتابة ردود
لا تستطيع إرفاق ملفات
لا تستطيع تعديل مشاركاتك

كود [IMG] متاحة
كود HTML معطلة
Trackbacks are متاحة
Pingbacks are متاحة
Refbacks are متاحة


المواضيع المتشابهه
الموضوع كاتب الموضوع المنتدى مشاركات آخر مشاركة
فهرس مواضيع جملة joomla بسوالف سوفت : متجدد أنس بن مالك تطوير الويب 18 06-03-2008 06:55 AM
أفضل مجلة لموقع رياضي elamba تطوير الويب 13 25-01-2008 10:50 PM
هل تريد الحصول على جملة! 1.5 [شرح] محمد عباس PHP 12 13-11-2006 09:50 AM
جملة! 1.5 بيتا قد صدرت محمد عباس تطوير الويب 28 15-10-2006 07:36 AM
موعد صدور النسخة التجريبية من جملة! 1.5 محمد عباس تطوير الويب 10 04-10-2006 08:07 AM


الساعة الآن: 08:02 AM بتوقيت المملكة العربية السعودية