قائمة طعام
مجاني
التسجيل
الصفحة الرئيسية  /  البرامج الثابتة/ PHP foreach loop: طريقتان لاستخدامه. قم بعمل حلقات أثناء و foreach لمصفوفات Php foreach

حلقة PHP foreach: طريقتان لاستخدامها. قم بعمل حلقات أثناء و foreach لمصفوفات Php foreach

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

الخامس هذا الدرسسننظر في بنية foreach عند التكرار عبر المصفوفات المفهرسة والمرتبطة.

حلقة فوق قيم العنصر

أبسط حالة استخدام لـ foreach هي عند تكرار القيم في مصفوفة مفهرسة. بناء الجملة الأساسي:

Foreach ($ array as $ value) (// افعل شيئًا بقيمة $) // هنا يتم تنفيذ الكود بعد انتهاء الحلقة

على سبيل المثال ، يتكرر البرنامج النصي التالي عبر قائمة المخرجين في مصفوفة مفهرسة ويطبع اسم كل منها:

المخرجون $ = array ("Alfred Hitchcock"، "Stanley Kubrick"، "Martin Scorsese"، "Fritz Lang")؛ foreach (المخرجون بالدولار الأمريكي المخرجون) (صدى $ المخرج. "
"; }

سيخرج الكود أعلاه:

ألفريد هيتشكوك ستانلي كوبريك مارتن سكورسيزي فريتز لانغ

حلقة فوق المفاتيح والقيم

ماذا عن المصفوفات المرتبطة؟ عند استخدام هذه الأنواع من المصفوفات ، غالبًا ما يكون من الضروري الوصول إلى مفتاح كل عنصر بالإضافة إلى قيمته. للبنية foreach طريقة لإنجاز هذه المهمة:

Foreach ($ array as $ key => $ value) (// افعل شيئًا باستخدام $ key و / أو $ value) // هنا يتم تنفيذ الكود بعد انتهاء الحلقة

مثال على تنظيم حلقة عبر مصفوفة مرتبطة بمعلومات حول الأفلام ، يعرض مفتاح كل عنصر وقيمته في قائمة تعريف HTML:

$ movie = array ("title" => "النافذة الخلفية"، "المخرج" => "Alfred Hitchcock"، "year" => 1954، "minutes" => 112)؛ صدى صوت "

"؛ foreach (فيلم $ as $ key => $ value) (echo"
مفتاح $:
"؛ صدى صوت"
قيمة دولار
"؛) صدى صوت"
";

سيخرج هذا النص عند تنفيذه:

العنوان: النافذة الخلفية مخرج: ألفريد هيتشكوك السنة: 1954 دقيقة: 112

تغيير قيمة العنصر

ولكن ماذا عن التغيير في قيمة العنصر أثناء الحلقة؟ يمكنك تجربة رمز مثل هذا:

Foreach ($ myArray كقيمة $) ($ value = 123 ؛)

ومع ذلك ، إذا قمت بتشغيله للتنفيذ ، فستجد أن القيم في المصفوفة لا تغير... والسبب هو أن foreach يعمل مع نسخةقيم الصفيف ، وليس مع الأصل. هذا يترك المصفوفة الأصلية سليمة.

لتغيير قيم المصفوفة ، أنت بحاجة حلقة الوصلعلى القيمة. للقيام بذلك ، تحتاج إلى وضع علامة & أمام قيمة متغيرةفي بناء foreach:

Foreach ($ myArray as & $ value) ($ value = 123 ؛)

على سبيل المثال ، يتكرر النص التالي عبر كل عنصر (اسم المخرج) في المصفوفة $ directors ويستخدم وظيفة PHPتنفجر () وبناء القائمة لمبادلة الاسم الأول والأخير:

المخرجون $ = array ("Alfred Hitchcock"، "Stanley Kubrick"، "Martin Scorsese"، "Fritz Lang")؛ // تغيير تنسيق الاسم لكل عنصر foreach (المخرجون $ كـ & $ المخرج) (list ($ firstName، $ lastName) = explode (""، $ Director)؛ $ Director = "$ lastName، $ firstName"؛) unset ($ المخرج)؛ // اطبع النتيجة النهائية لكل من (المخرجون بالدولار الأمريكي) (صدى $ المخرج. "
"; }

سينتج البرنامج النصي:

هيتشكوك ، ألفريد كوبريك ، ستانلي سكورسيزي ، مارتن لانج ، فريتز

لاحظ أن البرنامج النصي يستدعي الوظيفة unset () لإزالة المتغير $ Director بعد انتهاء الحلقة الأولى. هذه ممارسة جيدة إذا كنت تخطط لاستخدام المتغير لاحقًا في البرنامج النصي في سياق مختلف.

إذا لم تحذف الرابط ، فهناك مخاطرة في التنفيذ الإضافي للكود الخاص بمرجع عشوائي إلى العنصر الأخير في المصفوفة ("Lang، Fritz") ، إذا واصلت استخدام المتغير $ Director ، والذي سوف يؤدي إلى عواقب غير متوقعة!

ملخص

في هذا البرنامج التعليمي ، نظرنا في كيفية الاستخدام بناء PHP foreach للحلقة من خلال عناصر المصفوفة. تم النظر في القضايا التالية:

  • كيفية إجراء حلقة من خلال عناصر المصفوفة
  • كيفية الوصول إلى مفتاح وقيمة كل عنصر
  • كيفية استخدام مرجع لتغيير القيم أثناء السير في الحلقة

تخيل أن لديك مصفوفة ترابطية تريد تكرارها. توفر PHP طريقة سهلة لاستخدام كل عنصر في المصفوفة بدوره باستخدام بنية Foreach.

بلغة بسيطة ، سيبدو الأمر كالتالي:
"لكل عنصر في المصفوفة المحددة ، قم بتنفيذ هذا الرمز."

بينما ستستمر حتى يتم استيفاء بعض الشروط ، ستستمر حلقة foreach حتى تمر عبر كل عنصر من عناصر المصفوفة.

PHP Foreach: مثال

لدينا مجموعة ترابطية تخزن أسماء الأشخاص في شركتنا ، بالإضافة إلى أعمارهم. نريد معرفة عمر كل موظف ، لذلك نستخدم حلقة من خلال كل عنصر لطباعة اسم كل موظف وعمره.

الموظف $ الأعمار ؛ EmployeeAges $ ["Lisa"] = "28" ؛ EmployeeAges $ ["Jack"] = "16" ؛ EmployeeAges $ ["Ryan"] = "35" ؛ EmployeeAges $ ["Rachel"] = "46" ؛ EmployeeAges $ ["Grace"] = "34"؛ foreach ($ staffAges as $ key => $ value) (echo "Name: $ key، Age: $ value
"; }

نحصل على النتيجة:

الاسم: ليزا العمر: 28 الاسم: جاك العمر: 16 الاسم: ريان العمر: 35 الاسم: راشيل العمر: 46 الاسم: جريس العمر: 34

حسنًا ، النتيجة جيدة ومفهومة ، لكن بناء الجملة للبناء الفوري ليس سهلًا ومفهومًا للغاية. دعونا نلقي نظرة فاحصة عليها.

لكل صيغة: $ شيء مثل $ key => $ value

يُترجم كل هذا الجنون تقريبًا إلى: "لكل عنصر من عناصر المصفوفة الترابطية للموظف $ ، أريد أن أشير إلى مفتاح $ والقيمة الموجودة فيه ، أي قيمة $.

يمثل عامل التشغيل "=>" علاقة بين مفتاح وقيمة. في مثالنا ، أطلقنا عليها اسم key - $ key and value - $ value. ومع ذلك ، سيكون من الأسهل التفكير فيهم كاسم وعمر. في مثالنا أدناه ، سنفعل ذلك ، ونلاحظ أن النتيجة ستكون هي نفسها ، لأننا قمنا فقط بتغيير أسماء المتغيرات التي تشير إلى المفاتيح والقيم.

الموظف $ الأعمار ؛ EmployeeAges $ ["Lisa"] = "28" ؛ EmployeeAges $ ["Jack"] = "16" ؛ EmployeeAges $ ["Ryan"] = "35" ؛ EmployeeAges $ ["Rachel"] = "46" ؛ EmployeeAges $ ["Grace"] = "34"؛ foreach ($ staffAges as $ name => $ age) (echo "Name: $ name، Age: $ age
"; }

حسنًا ، النتيجة ، كما نكرر ، هي نفسها.

يمكن استخدام حلقة PHP foreach على النحو التالي:

foreach (array_name $ as $ value) (// رمز ليتم تنفيذه)

foreach ($ array_name as $ key => $ value) (// // code ليتم تنفيذها)

مثال على استخدام حلقة foreach مع مصفوفة رقمية

في هذا المثال ، سننشئ مصفوفة من خمسة عناصر بقيم رقمية. سيتم بعد ذلك استخدام حلقة PHP foreach للتكرار خلال هذه المصفوفة. داخل حلقة foreach ، استخدمنا echo لطباعة قيم المصفوفة:

مشاهدة العرض التوضيحي والكود

مثال بالمفاتيح وقيم الصفيف

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

مشاهدة العرض التوضيحي والكود

مثال على تغيير قيمة عنصر مصفوفة في حلقة foreach

يمكنك أيضا c باستخدام PHPمجموعة foreach يمكنك تغيير قيم عناصر المصفوفة. للقيام بذلك ، استخدم "&" قبل "$" لقيمة المتغير. على سبيل المثال:

& value_of_element دولار

سيتم تغيير القيمة. لتوضيح الأمر ، ضع في اعتبارك المثال التالي.

في هذا المثال ، أنشأنا مصفوفة عددية من خمسة عناصر. بعد ذلك ، استخدمنا حلقة foreach لعرض قيم العناصر.

ثم أنشأنا حلقة foreach أخرى حيث تمت إضافة "&" قبل $ value_of_element. داخل الأقواس المتعرجة ، نقوم بتعيين قيم جديدة لعناصر المصفوفة.

لمعرفة الفرق قبل وبعد تعيين قيم جديدة ، يتم عرض المصفوفة باستخدام وظيفة print_r ().

مشاهدة العرض التوضيحي والكود

ما هي استخدامات PHP foreach loop؟

تُستخدم حلقة PHP foreach للعمل مع مصفوفة. إنه يتكرر فوق كل عنصر من عناصره.

يمكنك أيضًا استخدام حلقة for للعمل مع المصفوفات. على سبيل المثال ، باستخدام خاصية length للحصول على طول مصفوفة ثم تطبيقها كعامل تشغيل max. لكن foreach يجعل الأمر أسهل لأنه مصمم للعمل مع المصفوفات.

إذا كنت تعمل مع MySQL ، فهذه الدورة مناسبة أكثر لذلك. على سبيل المثال ، يمكنك تحديد صفوف متعددة من جدول قاعدة بيانات وتمريرها إلى صفيف. بعد ذلك ، باستخدام حلقة foreach ، قم بالتكرار على جميع عناصر المصفوفة وتنفيذ بعض الإجراءات.

لاحظ أنه يمكنك استخدام حلقة foreach مع مصفوفة أو مجرد كائن.

باستخدام حلقة foreach

هناك طريقتان لاستخدام حلقة PHP foreach في PHP. كلاهما موصوف أدناه.

  • صيغة طريقة الاستخدام الأولى هي:

foreach ($ array_name as $ value) (echo $ value)

في هذه الحالة ، تحتاج إلى تحديد اسم المصفوفة ، ثم تحديد قيمة المتغير $.

لكل تكرار ، يتم تعيين قيمة العنصر الحالي لمتغير القيمة $. عند الانتهاء من التكرار ، يتم تعيين قيمة العنصر التالي إلى المتغير. وهكذا حتى يتم تعداد جميع عناصر المصفوفة.

  • صيغة الطريقة الثانية ( PHP foreach كقيمة أساسية):

هذا مناسب للمصفوفات الترابطية التي تستخدم أزواج المفتاح / القيمة.

أثناء كل تكرار ، سيتم تعيين قيمة العنصر الحالي إلى المتغير value_of_element $. بالإضافة إلى ذلك ، يتم تعيين مفتاح العنصر إلى المتغير $ key_of_element.

إذا كنت تعمل باستخدام مصفوفات رقمية ، فيمكنك استخدام الطريقة الأولى ، والتي لا تتطلب مفاتيح عناصر.

هذا المنشور هو ترجمة للمقال " PHP foreach loop طريقتان لاستخدامه"من إعداد فريق المشروع الودود

إن بنية foreach هي نكهة لـ "مدرج في اللغة" لتسهيل التكرار على عناصر المصفوفة. هناك نوعان من النكهات من الأمر foreach لـ أنواع مختلفةالمصفوفات:

foreach (مصفوفة كعنصر $) (

foreach (مصفوفة كمفتاح $ => عنصر $) (

على سبيل المثال ، عند تنفيذ المقتطف التالي:

القائمة $ = аrrау ("باستا" ، "ستيك" ، "بطاطس" ، "سمك" ، "فرايز") ؛

foreach (قائمة $ كعنصر $) (

طباعة "العنصر $
";

سيتم عرض الإخراج التالي:

في هذا المثال ، يجب ملاحظة شيئين. أولاً ، يعود بناء foreach تلقائيًا إلى بداية المصفوفة (لا يحدث هذا في بنيات التكرار الأخرى). ثانيًا ، ليست هناك حاجة لزيادة العداد صراحة أو الانتقال إلى العنصر التالي في المصفوفة - يحدث هذا تلقائيًا مع كل تكرار لـ foreach.

يتم استخدام الخيار الثاني عند العمل مع المصفوفات الترابطية:

$ wine_inventory = مجموعة (

"merlot" => 15 ،

"zinfandel" => 17 ،

"sauvignon" => 32

foreach ($ wine_inventory كـ $ i => $ item_count) (

اطبع "زجاجات عنصر_الدولار المتبقي من دولارات الولايات المتحدة
";

في هذه الحالة ، تبدو النتيجة كما يلي:

15 زجاجة من ميرلوت متبقية

17 زجاجة متبقية من زينفاندل

تبقى 32 زجاجة من ساوفيجنون

كما ترى من الأمثلة المذكورة أعلاه ، فإن بنية foreach تجعل العمل مع المصفوفات أسهل بكثير.

يشبه مبدأ تشغيل إنشاء المفتاح إلى حد ما إذا - يتم التحقق من النتيجة التي تم الحصول عليها من تقييم التعبير مقابل قائمة المطابقات المحتملة.

يكون هذا مفيدًا بشكل خاص عند التحقق من قيم متعددة ، لأن استخدام رمز التبديل يجعل البرنامج أكثر وصفًا وصغرًا. التنسيق العام لأمر التبديل هو:

التبديل (التعبير) (

الحالة (الحالة):

الحالة (الحالة):

يشار إلى الشرط المحدد بين قوسين بعد كلمة رئيسيةتحول. تتم مقارنة نتيجة حسابها بالتسلسل مع الشروط في أقسام الحالة. إذا تم العثور على تطابق ، يتم تنفيذ كتلة القسم المقابل. إذا لم يتم العثور على تطابق ، يتم تنفيذ كتلة القسم الافتراضية الاختيارية.

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

$ user_input = "وصفات"؛ // الأمر المحدد من قبل المستخدم

التبديل ($ user_input):

حالة ("بحث"):

طباعة "دعونا إجراء بحث!" ؛

الحالة ("القاموس"):

اطبع "ما هي الكلمة التي تريد البحث عنها؟" ؛

الحالة ("الوصفات"):

طباعة "هنا قائمة الوصفات ..."؛

طباعة "هنا القائمة ..." ؛

كما ترى من المقتطف أعلاه ، يوفر أمر التبديل تنظيمًا واضحًا وبديهيًا للكود. تتم مقارنة المتغير المحدد في عبارة التبديل (في هذا المثال $ user_input) مع شروط جميع أقسام الحالة اللاحقة. إذا كانت القيمة المحددة في قسم الحالة تطابق قيمة المتغير الذي تتم مقارنته ، فسيتم تنفيذ كتلة هذا القسم. تمنع تعليمة break من التحقق من أقسام الحالة الأخرى وتنهي تنفيذ جملة التبديل. إذا لم يتم استيفاء أي من الشروط المحددة ، يتم استدعاء القسم الافتراضي الاختياري. إذا لم يكن هناك قسم افتراضي ولم يتم استيفاء أي من الشروط ، فإن أمر التبديل ينتهي ببساطة ويستمر تنفيذ البرنامج مع الأمر التالي.

يجب أن تتذكر أنه إذا لم يكن هناك عبارة break في قسم الحالة (انظر القسم التالي) ، فسيستمر تنفيذ التبديل مع العبارة التالية حتى يتم العثور على تعليمة break أو الوصول إلى نهاية تعليمة switch. يوضح المثال التالي عواقب فقدان أمر كسر منسي: القيمة $ = 0.4؛

التبديل (القيمة بالدولار):

قيمة الطباعة هي 0.4
";

قيمة الطباعة هي 0.6
";

قيمة الطباعة 0.3
";

طباعة "لم تختر قيمة!" ؛

تبدو النتيجة كما يلي:

أدى عدم وجود أمر break ليس فقط إلى تنفيذ أمر الطباعة في القسم الذي تم العثور فيه على المطابقة ، ولكن أيضًا إلى أمر الطباعة في القسم التالي. بعد ذلك ، تمت مقاطعة تنفيذ عبارات التبديل بواسطة عبارة التبديل التي تلي جملة الطباعة الثانية.

الاختيار بين أوامر التبديل و if ليس له أي تأثير عمليًا على أداء البرنامج. قرار استخدام هذا البناء أو ذاك هو بالأحرى مسألة شخصية للمبرمج.

توقف تعليمة break على الفور تنفيذ جملة while أو for أو switch التي تقع فيها. سبق ذكر هذا الأمر في القسم السابق ، لكن مقاطعة الحلقة الحالية لا تستنفد إمكانيات الأمر break. الخامس نظرة عامةيبدو بناء الجملة الفاصل كما يلي:

تحدد المعلمة الاختيارية n عدد مستويات هياكل التحكم التي سيتم إنهاؤها بواسطة الأمر break. على سبيل المثال ، إذا كان أمر break متداخلًا في عبارتين while وكان الرقم 2 بعد الفاصل ، فسيتم إنهاء كلتا الحلقتين على الفور. القيمة الافتراضية لـ n هي 1 ؛ يمكن الإشارة إلى الانتقال إلى مستوى واحد إما عن طريق إشارة صريحة إلى 1 ، أو من خلال الإشارة إلى أمر break بدون معلمة. لاحظ أن الأمر i f ليس أحد عناصر التحكم التي تمت مقاطعتها بواسطة الأمر break.

لكل ... الحلقة التالية في VBA Excel ، تركيبها ووصف المكونات الفردية. أمثلة على استخدام حلقة For each ... Next.

الحلقة For Every ... Next في VBA تم تصميم Excel لتنفيذ كتلة من العبارات فيما يتعلق بكل عنصر من مجموعة من العناصر (النطاق ، الصفيف ، المجموعة). تستخدم هذه الحلقة الرائعة عندما يكون عدد العناصر في المجموعة وفهرستها غير معروفين ، وإلا يفضل استخدامها.

لكل ... بناء الحلقة التالية

لكل عنصر في مجموعة [عبارات] [خروج من أجل] [عبارات] التالي [عنصر]

تشير الأقواس إلى السمات الاختيارية لحلقة For Every ... Next.

لكل ... مكونات الحلقة التالية

*لو لحلقةيتم استخدام كل ... التالي في VBA Excel لاجتياز عناصر مجموعة (كائن مجموعة) أو مصفوفة ، ثم المتغير عنصريجب التصريح عنه بنوع البيانات متغيروإلا فإن الحلقة لن تعمل.

**إذا لم تستخدم الكود الخاص بك في الحلقة ، فسيتم فقد معنى استخدام الحلقة.

لكل ... أمثلة الحلقة التالية

تكرار لنطاق من الخلايا

في الورقة النشطة في مصنف Excel ، حدد نطاقًا من الخلايا وقم بتشغيل الإجراء التالي:

اختبار فرعي 1 () عنصر Dim كنطاق ، a As String a = "البيانات المستردة من For each ... التالي:" لكل عنصر في التحديد a = a & vbNewLine & "Cell" & element.Address & _ "يحتوي على القيمة: "& CStr (element.Value) MsgBox التالي a End Sub

ستعرض نافذة معلومات MsgBox عناوين الخلايا المحددة ومحتوياتها ، إن وجدت. إذا تم تحديد عدد كبير من الخلايا ، فلن يتم عرض المعلومات الكاملة عن جميع الخلايا ، نظرًا للحد الأقصى لطول المعلمة مستعجلحوالي 1024 حرفًا.

حلقة لجمع الأوراق

انسخ ما يلي إجراء VBAإلى مصنفات Excel:

اختبار فرعي () عنصر باهت كورقة عمل ، كسلسلة أ = "قائمة أوراق العمل المضمنة في هذا الكتاب:" لكل عنصر في أوراق العمل a = a & vbNewLine & element.Index _ & ")" & element.Name التالي MsgBox a End Sub

ستعرض نافذة المعلومات ، MsgBox ، قائمة بأسماء جميع أوراق مصنف Excel من خلال العدد الترتيبي لعلامات التبويب الخاصة بها المقابلة لمؤشراتها.

حلقة لصفيف

قم بتعيين قائمة بأسماء الحيوانات إلى المصفوفة وفي حلقة For each ... Next اكتبها إلى متغير أ... نافذة المعلومات MsgBox ستعرض قائمة بأسماء الحيوانات من متغير أ.

اختبار فرعي 3 () عنصر خافت كمتغير ، سلسلة كسلسلة ، مجموعة كمجموعة متغيرة = صفيف ("hippopotamus" ، "elephant" ، "kangaroo" ، "tiger" ، "mouse") "، على سبيل المثال الورقة المحددة: المجموعة = Selection a = "تحتوي المصفوفة على القيم التالية:" & vbNewLine لكل عنصر في المجموعة a = a & vbNewLine & element MsgBox a End Sub

دعنا نكرر نفس إجراء VBA ، لكن قم بتعيين جميع عناصر المصفوفة في حلقة For each ... Next إلى Parrot. ستعرض نافذة معلومات MsgBox قائمة بأسماء الحيوانات ، تتكون فقط من الببغاوات ، مما يثبت إمكانية تحرير قيم عناصر المصفوفة في حلقة For each ... Next.

اختبار فرعي 4 () عنصر خافت كمتغير ، سلسلة كسلسلة ، مجموعة كمجموعة متغيرة = صفيف ("hippopotamus" ، "elephant" ، "kangaroo" ، "tiger" ، "mouse") "، على سبيل المثال ، الورقة المحددة: group = Selection a = "تحتوي المصفوفة على القيم التالية:" & vbNewLine لكل عنصر في عنصر المجموعة = "Parrot" a = a & vbNewLine & element MsgBox a End Sub

تم اختبار هذا الرمز ، مثل أي شيء آخر في هذه المقالة ، في Excel 2016.

حلقة لتجميع الدلائل الفرعية والخروج من الحلقة

في هذا المثال ، سنضيف إلى المتغير أأسماء الدلائل الفرعية الموجودة على القرص جحاسوبك. عندما تصل الدورة إلى المجلد ملفات البرنامج، ستضيف إلى المتغير أاسمها ورسالتها: كفى ، لن أقرأ أكثر! مع تحياتي ، حلقة For Every ... الحلقة التالية ".

Sub test5 () Dim FSO ككائن ، myFolders As Object ، myFolder As Object ، كسلسلة "إنشاء FileSystemObject جديد وتعيينه إلى متغير" FSO "Set FSO = CreateObject (" Scripting.FileSystemObject ")" استخراج قائمة من الدلائل الفرعية الموجودة على القرص "C" وقم بتعيينها إلى المتغير "myFolders" تعيين myFolders = FSO.GetFolder ("C: \") a = "المجلدات الموجودة على القرص C:" & vbNewLine "التكرار خلال قائمة الدلائل الفرعية وأضفها أسماء المتغير "a" بعد الوصول إلى مجلد "Program Files" ، قم بإنهاء الحلقة لكل مجلد myFolders في myFolders.SubFolders a = a & vbNewLine & myFolder.Name إذا كان myFolder.Name = "ملفات البرنامج" ثم a = a & vbNewLine & vbNewLine & "Enough، read on I won't!" _ & vbNewLine & vbNewLine & "Regards،" & vbNewLine & _ "Your For each ... Next loop." Exit For End If Next Set FSO = Nothing MsgBox أ End Sub

نافذة المعلومات ، ستعرض MsgBox قائمة بأسماء الدلائل الفرعية الموجودة على القرص ججهاز الكمبيوتر الخاص بك إلى المجلد ملفات البرنامجشمولاً ورسالة الدورة حول إنهاء عملها.

نتيجة لذلك ، لن يعرض البرنامج فقط أسماء الدلائل الفرعية المرئية عند الانتقال إلى القرص في المستكشف ج، ولكن أيضًا المجلدات المخفية ومجلدات الخدمة. لعرض قائمة بجميع الأدلة الفرعية الموجودة على القرص ج، قم بالتعليق على جزء من التعليمات البرمجية من لوقبل إنهاء إذاشامل وتشغيل الإجراء في محرر VBA Excel.