حب الى الابد
حلقات الدوران Loops فى الـ php Fxbgnt11
حب الى الابد
حلقات الدوران Loops فى الـ php Fxbgnt11
حب الى الابد
هل تريد التفاعل مع هذه المساهمة؟ كل ما عليك هو إنشاء حساب جديد ببضع خطوات أو تسجيل الدخول للمتابعة.

حب الى الابد

والله نورتِ المنتدي من جديد يـ{زائر}.

 
الرئيسيةالتسجيلأحدث الصوردخول

ادارة المنتدي: اهـلا ومرحــبا بك معنا نورتنا بزيارتك الجميلة وزودت شوقنا ولهفتنا ع مشاركاتك ومواضيعك اذا كانت هذه هية زيارتك الاولي فيتوجب عليك التسجيل لتكون عضو معنا وتتمتع بكل مميزات العضوية المجانية  (اضغط هنا للتسجيل) اما اذا كنت قمت بالتسجيل مسبقا فيتوجب عليك الدخول بكتابة اسمك والرقم السري.  شكرا.ً


 

 حلقات الدوران Loops فى الـ php

اذهب الى الأسفل 
كاتب الموضوعرسالة
medo

™المدير العـام™
™المدير العـام™
medo


عدد مساهماتى : 5740
انا ذكر
مزاجي : الحمدلله
انا من : مصر
احترامك لقوانين المنتدي :
حلقات الدوران Loops فى الـ php Left_bar_bleue100 / 100100 / 100حلقات الدوران Loops فى الـ php Right_bar_bleue

نشاطك فى المنتدي :
حلقات الدوران Loops فى الـ php Left_bar_bleue100 / 100100 / 100حلقات الدوران Loops فى الـ php Right_bar_bleue

عدد نقاط التميز : 9968
عدد التقيمات : 15
تاريخ التسجيل : 17/08/2007
وسام1 : حلقات الدوران Loops فى الـ php Deign_11
وسام2 : حلقات الدوران Loops فى الـ php Sl2vbo
وسام3 : حلقات الدوران Loops فى الـ php 3h210
وسام4 : حلقات الدوران Loops فى الـ php Q1q0-710
توقيع المنتدي : توقيع المنتدي

حلقات الدوران Loops فى الـ php Empty
مُساهمةموضوع: حلقات الدوران Loops فى الـ php   حلقات الدوران Loops فى الـ php I_icon_minitime15.05.09 10:24

:g:4:
:sleep:

بعد ان تعرفنا على كافة اشكال المشروطات المعتادة. وكيفية جعل برامجنا قادرة

على اتخاذ القرار. وتحديد اى الأكواد التى سيتم اخذها فى مختلف الحالات.

حان وقت استعراض بعض حلقات الدوران او مايعرف بإسم Loops فى الـ php

حلقات الدوران هى نوعا ما مشروطات ايضا, وهى تمكنك من جعل برنامجك يكرر

كود ما او مهمة ما الى الأجل الذى تحدده انت.

وسنبدأ درس اليوم بالمشروطة While

وكما يتضح من اسمها فهى تعنى, الا ان.

وتكتب بالشكل التالى

كودرقم1 فى ملف التيكست



طول ما حالة الـ expression هى true سيستمر ماداخل حلقة الـ while بالتكرار.

اليك مثال توضيحى مثلا. نريد ان نطبع الأرقام من 1 الى 10 مع فصل بين كل رقم بسطر جديد (
)

بإستخدام الطرق الثابتة سنكتبه بالشكل التالى
كودرقم2 فى ملف التيكست



لكن مع حلقات الدوران الأمر ابسط من هذا بكثير
مجرد 3 اسطر صغيرين.
كودرقم3 فى ملف التيكست


بالأول حددنا القيمة 1 للمتغير i

بعدها بدأنا حلقة الدوران while وقولنا لها نفذى الكود الذى بداخلك
طول ما متغير الـ i اصغر من او متساوى مع الرقم 10
شرح الكود الذى بداخلها.
اول شئ طلبنا منه ان يطبع قيمة المتغيير i ويضف اليه وسم بداية السطر الجديد وهو الـ

السطر الأخر (هذا يعتبر جديد عليك) اضفنا للمتغير i العامل ++

هذا العامل يجعل من المتغيير i يساوى i+1 بكل مرة يتم استدعائه.
وبما اننا طلبنا 9 مرات (من 1 الى 10) فإنه سيستمر فى اضافة 1 الى المتغيير i
حتى يصل المتغيير i الى القيمة 10 وبعدها ستتوقف
حلقة الـ while عن العمل لأننا اشترطنا عليه ان تستمر فى العمل طول مالمتغيير i اصغر من او يساوى 10

لا اظن ان حلقة الدوران while تحتاج للشرح اكثر من هذا.
فهى بسيطة وواضحة كما ترى
سأشرح العامل ++ مرة اخرى وايضا العامل -- فهم الأثنين شئ واحد مع اختلاف التطبيق الحسابى (جمع وطرح).
العامل ++ يضيف 1 الى المتغير
العامل -- يطرح واحد من المتغير.
اليك مثال توضيحى
كودرقم4 فى ملف التيكست


ستلاحظ ان امر الطباعة الأول طبع 11 والثانى طبع 10
شرح الكود. السطر الأول اعطينة المتغير x القيمة 10
بعدها اضفنا العامل ++ للمتغيير x فأضاف اليه 1 فأصبحت قيمة المتغير x هى 11
بعدها اضفنا العامل -- للمتغير x فتم طرح 1 من اخر قيمة له (وهى 11) فأصبحت قيمته مرة اخرى هى 10.

يمكن ايضا كتابة هذه العوامل قبل او بعد المتغير
يعنى يمكن ان يكتب العامل ++ بالأشكال التالية
كودرقم5 فى ملف التيكست


الفرق بين الأثنين بسيط
واليك المثالين التاليين للتوضيح
كودرقم6 فى ملف التيكست


فى المثال السابق ستلاحظ ان امر الطباعة (echo) طبع قيمة المتغيير x الحقيقية
قبل ان يضيف اليها 1. لماذا؟ لأن العامل ++ جاء بعد المتغير وليس قبله.
بالتالى فهو ينفذ الأمر عليه (امر الطباعة فى هذا المثال)
بعدها يضيف 1 الى قيمته.
لكن اذا نظرنا للمثال التالى
كودرقم7 فى ملف التيكست



ستلاحظ انه طبع القيمة 11, هذا لأنه بالأول اضاف 1 الى قيمة المتغير الأصلية, بعدها نفذ عليه امر الطباعة.
ونفس الشئ بالنسبة للعامل -- لا اظن انه يحتاج لأن يتم شرحه ايضا.

لنعود لموضوعنا حلقات الدوران.

بعد ان تعرفنا للمشروطة الدورانية while
يأتى شرح الـ do .. while
وتكتب بالشكل التالى
كودرقم8 فى ملف التيكست



وهى عملها تمام مثل while
بإستثناء فرق بسيط
while لن تنفذ مابداخلها نهائيا
الا عند تحقق الشرط الذى وضعناه لها.
لكن do.. while
سوف تنفذ مابداخلها على الأقل مرة واحدة اذا لم تتحقق المشروطة.
بمعنى هل 10 اصغر من 9 ؟ بالطبع لا. ولذلك اذا شغلنا الإسكريبت التالى لن يتم تنفيذه
كودرقم9 فى ملف التيكست



لكن مع do..while سوف عمل مابداخل الحلقة حتى ولو لم تتحقق المشروطة
كودرقم10 فى ملف التيكست



هذا هو الفرق بين الإثنين.

هناك ايضا الحلقة الدورانية for
وهى اكثر تعقيدا بعض الشئ عن while و do..while
لكن هذا التعقيد لن يكون الا عند النظرة الأولى فقط. لكن بعد فهمها سترى انها بسيطة.
for تأخذ ثلاث مدخلات.
الأول هو عادة يكون بداية العد (بداية عداد)
الثانى هو المشروطة التى لا يجب ان تتخطاها الدالة (الحد الأقصى)
الثالث هو التغير الذى سيتم على العداد.
كامثال توضيحى
كودرقم11 فى ملف التيكست


الكود اعلاه معناه. ان المتغيير i له القيمة 1
المدخل الثانى (المشروطة) تشترط ان المتغير i لا يتعدى الرقم 10
الثالث يطلب اضافة 1 للمتغيير i.
تماما مثل اول مثال لنا بإستخدام while

الكلمة break واستخدامها فى الحلقات الدورانية.

الكلمة break تعنى قف, او كسر, وفى الحلقات الدورانية تعنى توقف عن الدوران.

كامثال على استخدام الكلمة break
هو اذا كان لدينا متغير ما يتم ادخاله بواسطة المستخدم مثلا
ونحن نريد من الحلقة الدورانية ان تنفذ كود ما بعدد الرقم الذى يدخله المستخدم. لكن نريد وضع حد اقصى لهذا التكرار (حتى لا يتسبب التكرار الكثير فى زيادة الضغط على السيرفر)

يمكننا تنفيذ هذا بإستخدام المشروطة if داخل حلقة الدوران التى سنتستخدمها ولنفترض انها while
كودرقم12 فى ملف التيكست


لاحظ فى الكود اعلاه. انه اذا كانت قيمة $var اكبر من 10 فلن تعمل الحلقة الدورانية while عندما تصل قيمة $i الى 10
وهذا بسبب اننا اشترطنا انه فى حالة ان قيمة المتغيير $i تعدت 10 ان يتم نداء الكلمة break والتى تتسبب فى ايقاف الحلقة عن العمل.

هناك ايضا الكلمة continue وهى تعنى استمر. لكن بحلقات الدوران تعنى تخطى هذا, او استثنى.
كامثال توضيحى بإستخدام الحلقة الدروانية for مع مشروطة if جرب التالى
كودرقم13 فى ملف التيكست



سترى ان الإسكريبت طبع من 1 الى 10 بإستثناء الرقم 3
وهذا لأننا اشترطنا ان يتم تنفيذ الأمر continue عندما تكون قيمة المتغير $i هى 3

لاحظ ايضا انه يمكنك استخدام حلقة الدوران for داخل حلقة دروان for او while او العكس.
على حسب احتياجك.

شئ اخير احب ان انوه اليه.

دائما عند استخدامك لحلقات الدوران, تأكد من وجود نقطة انتهاء للدوران حتى يتوقف الإسكريبت عن تكرار المهمة, لأنه فى عدم وجود نقطة انتهاء او توقف
سوف يتسبب هذا فى تعليق الخادم الذى يعمل عليه الإسكريبت (هذا ان لن يتم ايقاف الإسكريبت بواسطة السيرفر) او رفع الضغط على الخادم.

اتمنى ان يكون الدرس كان بسيط واذا كان لديك اى استفسار لا تتردد بالسؤال وان شاء الله نكون عند حسن ظنك.


اضغط هنا لتحميل ملف التيكست

منقول للفائدة
الرجوع الى أعلى الصفحة اذهب الى الأسفل
http://WwW.Lov4ever.yoo7.com
 
حلقات الدوران Loops فى الـ php
الرجوع الى أعلى الصفحة 
صفحة 1 من اصل 1

صلاحيات هذا المنتدى:لاتستطيع الرد على المواضيع في هذا المنتدى
حب الى الابد :: .::{الركن التعليمي}::. :: حب الى الابد للدورات التعليمة ا love forever to instruction sessions :: دورة PHP-
انتقل الى:  
عفواً يمنع النسخ للزوار
المواضيع الأخيرة
» مطوية (فَلَنُنَبِّئَنَّ الَّذِينَ كَفَرُوا بِمَا عَمِلُوا وَلَنُذِيقَنَّهُمْ مِنْ عَذَابٍ
حلقات الدوران Loops فى الـ php I_icon_minitime27.05.17 12:19 من طرف عزمي ابراهيم عزيز

» مطوية (مَنْ أَرْضَى اللَّهَ بِسَخَطِ النَّاسِ كَفَاهُ اللَّهُ النَّاسَ)
حلقات الدوران Loops فى الـ php I_icon_minitime03.05.17 10:24 من طرف عزمي ابراهيم عزيز

» مطوية (إِنَّ الْإِنْسَانَ لَفِي خُسْرٍ)
حلقات الدوران Loops فى الـ php I_icon_minitime08.04.17 20:52 من طرف عزمي ابراهيم عزيز

» مطوية (وَأَوْفُوا بِعَهْدِ اللَّهِ إِذَا عَاهَدْتُمْ)
حلقات الدوران Loops فى الـ php I_icon_minitime07.04.17 8:14 من طرف عزمي ابراهيم عزيز

» مطوية (لاَ تَسُبُّوا الأَمْوَاتَ)
حلقات الدوران Loops فى الـ php I_icon_minitime03.04.17 17:15 من طرف عزمي ابراهيم عزيز

» مطوية (وَجَعَلَ مِنْهَا زَوْجَهَا لِيَسْكُنَ إِلَيْهَا)
حلقات الدوران Loops فى الـ php I_icon_minitime31.03.17 9:30 من طرف عزمي ابراهيم عزيز

» مطوية (لَيْسَ مِنَّا مَنْ لَمْ يَرْحَمْ صَغِيرَنَا ويُوَقِّرْ كَبِيرَنَا)
حلقات الدوران Loops فى الـ php I_icon_minitime27.03.17 20:51 من طرف عزمي ابراهيم عزيز

» مطوية (وَلِيَبْتَلِيَ اللَّهُ مَا فِي صُدُورِكُمْ وَلِيُمَحِّصَ مَا فِي قُلُوبِكُمْ)
حلقات الدوران Loops فى الـ php I_icon_minitime24.03.17 14:37 من طرف عزمي ابراهيم عزيز

» مطوية (لا تَحْلِفُوا بِآبَائِكُمْ مَنْ حَلَفَ بِاللَّهِ فَلْيَصْدُقْ)
حلقات الدوران Loops فى الـ php I_icon_minitime17.03.17 14:54 من طرف عزمي ابراهيم عزيز

» مطوية (اتَّخَذُوا أَحْبَارَهُمْ وَرُهْبَانَهُمْ أَرْبَاباً مِنْ دُونِ اللَّهِ)
حلقات الدوران Loops فى الـ php I_icon_minitime13.03.17 16:04 من طرف عزمي ابراهيم عزيز

» مطوية (اللَّهُمَّ اسْتُرْ عَوَرَاتِنَا وَآمِنْ رَوَعَاتِنَا)
حلقات الدوران Loops فى الـ php I_icon_minitime10.03.17 8:19 من طرف عزمي ابراهيم عزيز

» مطوية (اللَّهُمَّ اسْتُرْ عَوَرَاتِنَا وَآمِنْ رَوَعَاتِنَا)
حلقات الدوران Loops فى الـ php I_icon_minitime10.03.17 8:18 من طرف عزمي ابراهيم عزيز

»  اذكار المسلم اليومية ، جميع اذكار المسلم اليومية ، كل اذكار المسلم اليومية
حلقات الدوران Loops فى الـ php I_icon_minitime28.09.13 13:27 من طرف @الجوكر@

» دورة كاملة من الالف الى الياء فى الاكسل والشرح صوت وصورة
حلقات الدوران Loops فى الـ php I_icon_minitime25.08.13 16:53 من طرف هشام العيسى

» حكم المباراة يقتل بسبب بطاقة صفرا
حلقات الدوران Loops فى الـ php I_icon_minitime11.05.13 12:45 من طرف @الجوكر@

» أسوأ 10 توقعات لم تحدث فى 2012
حلقات الدوران Loops فى الـ php I_icon_minitime10.05.13 17:01 من طرف @الجوكر@

» دعااااااااااااااااااء لو عرفتو معناااااااااااااااااه عمركو ماهتبطلو تقروة فى حياتكم
حلقات الدوران Loops فى الـ php I_icon_minitime10.05.13 16:03 من طرف @الجوكر@

» شوارع مصر بعد تنحى الرئيس حسنى مبارك " بالصور "
حلقات الدوران Loops فى الـ php I_icon_minitime10.05.13 15:33 من طرف @الجوكر@

» دروه كامله فى البور بوينت 2003 شرح مفصل من الالف الى الياء
حلقات الدوران Loops فى الـ php I_icon_minitime09.05.13 15:47 من طرف @الجوكر@

» الأستعمال الصحيح للماء ساعد جدا جدا فى أنقاص الوزن
حلقات الدوران Loops فى الـ php I_icon_minitime08.05.13 20:38 من طرف @الجوكر@

Hosted By : Ahla montada
Design & Managed By : Medo
افضل عرض للمنتدي اختار اعدادات الشاشة
1024X 768 pixels
تنبيه جميع المشاركات والمواضيع في  منتديات حب الى الابد  لا تعبر بالضرورة عن رأي إدارتها بل تمثل وجهة نظر كاتبها فقط .
by Mohamed Ebrahim © 2006-2013 by Lov4ever