المصفوفة عبارة عن مجموعة من البيانات المرتبة. قد لا تنتمي العناصر الموجودة في المصفوفة إلى نفس نوع البيانات. استخدم اسم مصفوفة موحدًا ورمزًا منخفضًا لتعريف العناصر الموجودة في المصفوفة بشكل فريد. لن يؤثر تغيير عنصر واحد على العناصر الأخرى. حدود المصفوفات محدودة وتنقسم إلى حدود سفلية وحدود عليا. يمكن الإعلان عن المصفوفات باستخدام Dim أو Private أو Public أو Static، وتنسيقات بناء الجملة الخاصة بها هي نفسها. ما يلي يقدم فقط طريقة استخدام Dim للإعلان عن مصفوفة.
1. تعريف المصفوفة وإعلانها
بناء جملة تعريف المصفوفة هو كما يلي:
اسم الصفيف الخافت ([[الحد الأدنى للمنخفض إلى] الحد الأعلى للمنخفض]) [كنوع بيانات]
على سبيل المثال (بافتراض أن الحد الأدنى الافتراضي للصفائف في الوحدة الحالية هو 0)):
① خافت A(10) كعدد صحيح
يشير إلى أن اسم المصفوفة هو A. الحد الأدنى للمنخفض في هذه المصفوفة هو القيمة الافتراضية 0، والحد الأعلى للمنخفض هو 10. هناك 11 عنصرًا من النوع الصحيح، من A(0)، A(1) ) إلى أ(10).
② خافت B (1 إلى 20) كعدد صحيح
يشير إلى أن اسم المصفوفة هو B. الحد الأدنى للمنخفض لهذا المصفوفة هو 1، والحد الأعلى للمنخفض هو 20، وهناك 20 عنصرًا من النوع Integer، من B(1) إلى B(20).
③Dim DayArray(50)
يشير إلى أن DayArray عبارة عن مصفوفة متغيرة تحتوي على 51 عنصرًا مفهرسًا (من 0 إلى 50).
④المصفوفة الخافتة(3، 4) كعدد صحيح
يشير إلى أن المصفوفة عبارة عن مصفوفة أعداد صحيحة ثنائية الأبعاد.
⑤Dim MyMatrix(1 إلى 5، 4 إلى 9، 3 إلى 5) مزدوج
يشير إلى أن MyMatrix عبارة عن مصفوفة مزدوجة ثلاثية الأبعاد ذات حدود علوية وسفلية محددة بوضوح.
⑥عيد ميلاد خافت (من 1 إلى 10) حسب التاريخ
يشير إلى أن عيد الميلاد هو مصفوفة من نوع التاريخ تحتوي على فهارس من 1 إلى 10.
2. بيان قاعدة الخيار
يتم استخدام عبارة Option Base على مستوى الوحدة النمطية للإعلان عن الحد الأدنى الافتراضي لمشتركي الصفيف.
بناء جملة بيان Option Base كما يلي:
قاعدة الخيار {0 |.1}
ملاحظة: بشكل افتراضي، الحد الأدنى للمصفوفة هو 0، وليست هناك حاجة لاستخدام عبارة Option Base في هذا الوقت. إذا كنت تستخدم هذه العبارة لتحديد الحد الأدنى للصفيف وهو 1، فيجب عليك استخدام عبارة Option Base قبل إعلان صفيف الوحدة النمطية.
يلاحظ:
(1) توفر عبارة "إلى" في عبارات Dim وPrivate وPublic وReDim وStatic طريقة أكثر مرونة للتحكم في منخفض المصفوفة. ومع ذلك، إذا لم تقم بتحديد حد أدنى بشكل صريح باستخدام جملة "إلى"، فيمكنك استخدام Option Base لتعيين الحد الأدنى الافتراضي إلى 1. يتم تحديد الحد الأدنى للمصفوفة التي تم إنشاؤها باستخدام الدالة Array أيضًا من خلال الحد الأدنى المحدد بواسطة بيان Option Base، ما لم يكن المصفوفة مؤهلة بواسطة اسم مكتبة النوع (مثل VBA.Array) إذا كانت مؤهلة بواسطة نوع ما اسم المكتبة، فإن الحد الأدنى للمصفوفة التي تم إنشاؤها باستخدام وظيفة Array هو الحد الأدنى ولا يتأثر بـ Option Base.
(1) تؤثر عبارة Option Base فقط على الحد الأدنى للمصفوفة الموجودة في الوحدة التي تحتوي على العبارة.
بعض الملاحظات حول إعلانات المصفوفة:
①قواعد التسمية لأسماء المصفوفات هي نفس قواعد أسماء المتغيرات.
② اسم المصفوفة محاط بين قوسين، ولا يمكن استخدام الأقواس المربعة، على عكس لغة C.
③يجب ألا يكون الحد الأدنى للمنخفض أكبر من الحد الأعلى.
④ يمكنك استخدام أسماء المتغيرات أو الأسماء الثابتة (بالإضافة إلى الأرقام الحقيقية) كحدود منخفضة. عندما تكون حدود المنخفض اسمًا ثابتًا، يكون حجم المصفوفة ثابتًا. عندما تكون حدود المنخفض اسمًا متغيرًا، يمكن تحديد حجم المصفوفة ديناميكيًا، أي أن حجم المصفوفة يعتمد على ذلك. قيمة المتغير أثناء تشغيل البرنامج. ولذلك، يمكن تقسيم المصفوفات في VB إلى نوعين من المصفوفات: المصفوفات الثابتة والمصفوفات الديناميكية.
3. مجموعة ثابتة
المصفوفة الثابتة تعني أن عدد عناصر المصفوفة ثابت، أي أن حجم مساحة الذاكرة التي تشغلها ثابت. وفقًا للأبعاد المختلفة للمصفوفات ذات الحجم الثابت، يمكن تقسيمها إلى صفائف أحادية البعد ومصفوفات متعددة الأبعاد.
تنسيق بناء الجملة للإعلان عن مصفوفة متعددة الأبعاد هو:
اسم الصفيف الخافت ([قائمة الحدود المنخفضة]) [كنوع بيانات]
نموذج تعريف الحدود المنخفضة: [الحد الأدنى المنخفض إلى] الحد العلوي المنخفض
تشير قائمة الحدود المنخفضة إلى الحدود المنخفضة لكل بُعد من أبعاد المصفوفة مفصولة بفواصل، أي
[الحد الأدنى للمنخفض إلى] الحد العلوي للمنخفض، [الحد الأدنى للمنخفض إلى] الحد العلوي للمنخفض، ...، [الحد الأدنى للمنخفض إلى] الحد العلوي للمنخفض
(البعد الأول) (البعد الثاني) (البعد التاسع)
عندما يكون n = 1، يُسمى المصفوفة بمصفوفة أحادية البعد؛ وعندما يكون n = 2، يُسمى المصفوفة بمصفوفة ثنائية الأبعاد؛ وهكذا، عندما يكون n = m، يُسمى المصفوفة بمصفوفة m.
تعرض الأمثلة التالية استخدام المصفوفات أحادية البعد.
'قم بتعريف مصفوفة سلسلة FriendsName بطول 51
اسم الأصدقاء الخافت (50) كسلسلة
"قم بتعريف فئة مصفوفة أعداد صحيحة عمومية بطول 11."
الفئة العامة (10) كعدد صحيح
عدد العناصر في المصفوفة أحادية البعد هو (الحد الأعلى - الحد الأدنى + 1).
يمكنك استخدام عبارة حلقة لتعيين قيمة أولية لمصفوفة، مثل:
خافت أنا كعدد صحيح
بالنسبة لـ I = 0 إلى 11 'استخدم التحكم في تدفق البرنامج لبيانات الحلقة
ج(أنا) = أنا
التالي أنا
إذا لم يتم تحديد الحد الأدنى بشكل صريح، فسيتم التحكم في الحد الأدنى للمصفوفة بواسطة عبارة Option Base. إذا لم يكن هناك عبارة Option Base، فإن الحد الأدنى الافتراضي هو 0.
لا يقتصر بُعد المصفوفة على 2. في لغة VB، يمكن توسيعه إلى 60. في التطبيقات العملية، لا توجد تطبيقات كثيرة للمصفوفات ذات أكثر من ثلاثة أبعاد. عند تعريف مصفوفة متعددة الأبعاد، فإنك تحتاج فقط إلى عبارة Dim واحدة لتحديد جميع الحدود المنخفضة للمصفوفة. يمكن أن يمثل استخدام المصفوفات متعددة الأبعاد بسهولة بعض البيانات الإحصائية ذات المعنى. على سبيل المثال:
الربح الخافت (16،10،12) كعملة
يمكن استخدام مصفوفة الربح هذه لتمثيل ربح متجر متعدد الأقسام مع اسم المتجر والقسم والشهر كمعلمات. على سبيل المثال: الربح(2,8,11) يمثل ربح القسم الثامن من الفرع الثاني في شهر نوفمبر.
4. مجموعة ديناميكية
في بعض الأحيان، لا يمكن معرفة الحجم المطلوب للمصفوفة لتلبية الاحتياجات الفعلية قبل بدء استخدام المصفوفة. بالطبع، يمكن تعريف حجم المصفوفة بأنه كبير بما يكفي لتلبية أي احتياجات تطبيقية عملية، ولكن هذه الطريقة غير فعالة للغاية (إهدار كبير لمساحة الذاكرة). إذا كنت تستخدم مصفوفة ديناميكية، فيمكنك تحديد حجم المصفوفة بدقة وفقًا للاحتياجات الفعلية أثناء تشغيل البرنامج.
عند الإعلان عن مصفوفة، فإن عدم تقديم قائمة بالأبعاد يؤدي إلى إعلان المصفوفة كمصفوفة ديناميكية. على سبيل المثال:
Dim MyArry() كعدد صحيح
قبل استخدام مصفوفة ديناميكية، يجب عليك استخدام عبارة ReDim لإعادة تعريفها. على سبيل المثال، يمكن تعريف المصفوفة MyArry التي تم الإعلان عنها مسبقًا على أنها مصفوفة ديناميكية ثنائية الأبعاد باستخدام العبارة التالية.
ريديم ماي آري(10,10)
يمكنك أيضًا تحديد المصفوفات الديناميكية عدة مرات عن طريق تنفيذ عبارة ReDim بشكل متكرر. الحد الأقصى لعدد الأبعاد التي يمكن تعريفها باستخدام ReDim هو 60. يمكن لعبارة ReDim تغيير عدد العناصر في كل بعد من أبعاد المصفوفة، ولكن ليس عدد الأبعاد. ما يلي هو مثال للتطبيق القياسي لبيان ReDim.
Dim MyArry() As Single 'قم بتعريف مصفوفة ديناميكية
ReDim MyArry(30,20,10) "أعد تعريف المصفوفة."
ReDim MyArry(50,23,21) "أعد تعريف المصفوفة مرة أخرى."
بناء جملة ReDim هو نفس بناء جملة Dim. بالإضافة إلى ذلك، يحتوي أيضًا على خيار الاحتفاظ بالكلمة الأساسية:
ReDim الحفاظ على اسم الصفيف ([[الحد الأدنى إلى] الحد الأعلى]) [كنوع بيانات]
على سبيل المثال:
إعادة ديم MyArry(50,23,21)
ReDim الحفاظ على MyArry(50,23,50)
ملاحظة: عند استخدام ReDim، ستؤدي إعادة تعريف المصفوفة إلى اختفاء قيم جميع عناصر المصفوفة، بينما يمكن أن يؤدي استخدام Preserve إلى الاحتفاظ بالبيانات. لكن استخدام Preserve يمكن أن يحافظ فقط على بيانات المصفوفة عند تغيير حجم البعد الأخير للمصفوفة. بالنسبة للمصفوفات أحادية البعد، سيتم الاحتفاظ بجميع البيانات، ولكن بالنسبة للمصفوفات متعددة الأبعاد: يمكن تغيير حجم البعد الأخير فقط للاحتفاظ بجميع بيانات المصفوفة، وإلا سيحدث خطأ.
5. وظيفة LBound ووظيفة UBound
تقوم كل من الدالة LBound والدالة Ubound بإرجاع بيانات من النوع الطويل. القيمة التي تم الحصول عليها بواسطة الأولى هي الحد الأدنى المتاح لبعد الصفيف المحدد، بينما القيمة التي تم الحصول عليها بواسطة الأخيرة هي الحد الأقصى للخط السفلي. بناء الجملة الخاص بهم هو:
LBound(اسم الصفيف[، البعد المحدد])
UBound(اسم الصفيف[، البعد المحدد])
اسم المصفوفة مطلوب. يعد عدد الأبعاد المحدد اختياريًا ويحدد البعد الذي سيتم إرجاع الحد الأدنى له. 1 يمثل البعد الأول، 2 يمثل البعد الثاني، وهكذا. إذا تم حذف البعد المحدد، فسيتم تعيينه افتراضيًا على 1.
لمعرفة كيفية استخدام الدالة LBound والدالة UBound، راجع المثال التالي:
Dim A(1 to 100,3,-3 to 4) كعدد صحيح "حدد مصفوفة ثلاثية الأبعاد، على افتراض عدم استخدام لغة Option Base"
تغير عبارة "القيمة الافتراضية للحد الأدنى للصفيف.
استخدم الدالتين Lbound وUbound في الصفيف A. قائمة قيم الإرجاع هي كما يلي
تعتمد الحدود الدنيا الافتراضية لكافة الأبعاد على إعداد عبارة Option Base. يمكن ملاحظة أنه يمكن استخدام الدالة LBound والدالة UBound في المصفوفة لتحديد عدد العناصر في المصفوفة.
بالنسبة للمصفوفات التي تم تحديد أبعادها باستخدام عبارة "إلى" في إعلانها، يمكنها استخدام أي عدد صحيح كحد أدنى دون التقيد ببيان Option Base.
6. الميزات المتقدمة للمصفوفات
على الرغم من أن المصفوفات تستخدم بشكل شائع لتخزين مجموعات من المتغيرات، إلا أن المصفوفات مفيدة بطرق أخرى. يمكنك تعيين محتويات مصفوفة إلى أخرى، وإنشاء وظائف تُرجع المصفوفات، ويمكنك إنشاء خصائص تُرجع المصفوفات. في العديد من الحالات، يمكن لهذه التقنيات تحسين أداء التطبيق.
تمامًا كما يمكنك تعيين قيمة متغير واحد لمتغير آخر، مثل StrA = StrB، يمكنك أيضًا تعيين محتويات مصفوفة واحدة إلى مصفوفة أخرى. على سبيل المثال، تريد نسخ مصفوفة بايت من موقع إلى آخر. ويمكن تحقيق ذلك عن طريق نسخ بايت واحد في كل مرة، ويكون الإجراء كما يلي:
Sub ByteCopy (oldCopy () كبايت، newCopy () كبايت)
'المعلمة oldCopy () هي المصفوفة المصدر، وnewCopy () هي المصفوفة الهدف
خافت ط كعدد صحيح
ReDim newCopy (Lbound(oldCopy) إلى UBound(oldCopy)) 'إعادة تعريف المصفوفة الديناميكية
For i = Lbound(oldCopy) To Ubound(oldCopy) 'تعيين حلقة
نسخة جديدة (ط) = نسخة قديمة (ط)
التالي
نهاية الفرعية
الطريقة الأبسط والأكثر فعالية هي تعيين مصفوفة واحدة إلى مصفوفة أخرى مباشرة:
Sub ByteCopy (oldCopy () كبايت، newCopy () كبايت)
'المعلمة oldCopy () هي المصفوفة المصدر، وnewCopy () هي المصفوفة الهدف
newCopy = oldCopy 'استخدم المصفوفة لتعيين القيم مباشرة
نهاية الفرعية
هناك بعض القواعد التي يجب وضعها في الاعتبار فيما يتعلق بتعيين المتغير. على سبيل المثال، على الرغم من أنه يمكن تعيين متغير تم تعريفه كعدد صحيح إلى متغير تم تعريفه كعدد صحيح دون أي مشاكل، فإن تعيين فترة طويلة لمتغير عدد صحيح يمكن أن يؤدي بسهولة إلى خطأ تجاوز السعة. بالإضافة إلى الالتزام بالقواعد المتعلقة بالتخصيصات بين متغيرات نوع البيانات، يجب أن تتوافق تعيينات الصفيف أيضًا مع قواعد أخرى، بما في ذلك عدد أبعاد الصفيف وحجم كل بُعد وما إذا كان الصفيف ثابتًا أم ديناميكيًا.
① عدة عوامل يجب مراعاتها عند تعيين صفائف ذات أبعاد وأنواع بيانات مختلفة
l نوع المصفوفة على الجانب الأيسر من عامل التعيين: صفيف ثابت (Dim x(1 إلى 10) كعدد صحيح) أو صفيف ديناميكي (Dim x() كعدد صحيح).
l ما إذا كان بُعد المصفوفة الموجودة على الجانب الأيسر من عامل التعيين يتطابق مع بُعد المصفوفة الموجودة على الجانب الأيمن من عامل التعيين.
l ما إذا كان عدد عناصر المصفوفة في كل بُعد من المصفوفات الموجودة على جانبي عامل التعيين متطابقًا. قد تتطابق الأبعاد حتى لو كان إعلان المصفوفات مختلفًا. على سبيل المثال، إذا تم ترقيم عناصر كل بعد من مصفوفة واحدة بدءًا من 0 وتم ترقيم عناصر مصفوفة أخرى بدءًا من 1، فقد تتطابق الأبعاد أيضًا.
l يجب أن تكون أنواع البيانات لجميع العناصر الموجودة على جانبي عامل التعيين متوافقة. تتوافق هذه القواعد مع قواعد تعيين المتغير.
ويبين الجدول 6-3 تأثير هذه العوامل:
قد تحدث أخطاء في تعيين المصفوفة في وقت الترجمة أو في وقت التشغيل (على سبيل المثال، إذا تعذر تحويل نوع البيانات أو حاول التعيين إعادة تعريف (ReDim) بمصفوفة ثابتة). صمم برنامجك لإضافة معالجة الأخطاء للتأكد من تطابق المصفوفات قبل التعيين.
②اكتب دالة تُرجع مصفوفة
من الممكن إرجاع مجموعة من القيم من دالة. على سبيل المثال، إرجاع مجموعة من البايتات من دالة دون الحاجة إلى تحويلها إلى سلسلة ثم العودة مرة أخرى.
فيما يلي مثال بسيط باستخدام دالة تُرجع مصفوفة بايت:
نموذج فرعي خاص_تحميل()
خافت ب كما بايت
خافت ط كعدد صحيح
Dim ReturnArray() كـ Byte
ب = كبايت (54)
ReturnArray() = ArrayFunction(b) 'وظيفة الاتصال
لأني = Lbound(ReturnArray) إلى Ubound(ReturnArray)
Msgbox ReturnArray(i) 'قم بالتمرير عبر مربع الرسالة المنبثقة لعرض قيمة المصفوفة
التالي
نهاية الفرعية
الوظيفة العامة ArrayFunction(b As Byte) As Byte()
خافت x(2) بالبايت
س(0) = ب
س (1) = ب + كبايت (200)
س(2) = ب + ب
ArrayFunction = x 'يُرجع النتيجة كصفيف x
وظيفة النهاية
بعد تشغيل المثال أعلاه، ReturnArray() عبارة عن مصفوفة مكونة من ثلاثة عناصر تحتوي على القيم المخصصة للمصفوفة في ArrayFunction. تقوم عبارة ArrayFunction بتمرير صفيف كمعلمة؛ ويجب أن يكون نوع بيانات المصفوفة هو نفس نوع بيانات الوظيفة (البايت في هذه الحالة). نظرًا لأن هذا استدعاء دالة، فإن الأقواس ليست ضرورية عند تمرير المصفوفة.
يلاحظ:
1. على الرغم من أنه من الممكن إرجاع مصفوفة عن طريق تعيين مصفوفة أخرى (ArrayFunction = x())، إلا أنه لا يوصى بهذا الأسلوب لأسباب تتعلق بالأداء.
2. يجب تحديد نوع للدالة التي تُرجع مصفوفة. يمكن أن يكون هذا النوع متغيرًا. بهذه الطريقة، تكون الدالة X() كـ Variant() صالحة وستفشل الدالة X() كـ ().
3. عند استدعاء دالة تقوم بإرجاع مصفوفة، يجب أن يكون المتغير المستخدم لتخزين القيمة المرجعة مصفوفة أيضًا، ويجب أن يكون نوع البيانات الخاص به هو نفس نوع الإرجاع الخاص بالوظيفة، وإلا سيتم عرض خطأ عدم تطابق النوع.
تحديد مجموعة بسيطة
هناك طريقتان لتعريف وتهيئة المصفوفات في asp، دعونا نرى مثالاً لكل منهما:
الطريقة الأولى:
MyArray = Array(يناير، فبراير، مارس، أبريل، مايو، يونيو، يوليو، أغسطس، سبتمبر، أكتوبر، نوفمبر، ديسمبر)
يتم تحديد حجم المصفوفة من خلال عدد العناصر التي تمت تهيئتها.
الطريقة الثانية:
Dim myArray(2) "حدد حجم الصفيف."
myArray(0)=Jan
myArray(1)=فبراير
التوسع الديناميكي للصفيف
ديم مصفوفة ()
REDIM myArray(20) "أعد تحديد حجم الصفيف إلى 20."
ReDim Preserve MyArray(i) 'Preserve يحتفظ بالبيانات الأصلية في المصفوفة
مصفوفة ثنائية الأبعاد
مثال:
dim MyArray(5,10) 'يحدد مصفوفة ثنائية الأبعاد
مثال للمهمة ثنائية الأبعاد:
MYArray(3,3)=100
هناك أيضًا طريقة تنفيذ مقنعة للمصفوفات ثنائية الأبعاد:
خافتMyArray(5)
MyArray(0)=Array(...) 'مصفوفة أحادية البعد
MyArray(1)=Array(...)'مصفوفة أحادية البعد
...
عند الوصول، استخدم التنسيق MyArray(x)(y)
مؤشر المصفوفة
استخدم الطريقة المذكورة أعلاه لتعريف مصفوفة. الرمز المنخفض للعنصر الأول في كل مصفوفة أبعاد هو 0، والرقم المنخفض للعنصر الأخير هو عدد العناصر -1.
ولكن يمكنك أيضًا تحديد رمز المصفوفة، مثل:
dim MyArray1(3 to 10) 'الحرف المنخفض من 3 إلى 10، MyArray(3) يحصل على قيمة العنصر الأول
وظائف صفيف مفيدة
دالة Ubound (اسم الصفيف) - تُرجع الحرف المنخفض للعنصر الأخير في الصفيف.
دالة Lbound (اسم المصفوفة) - تُرجع الحرف المنخفض للعنصر الأول في المصفوفة، والقيمة الافتراضية هي 0.
المزيد من التطبيقات:
وظيفة فرز المصفوفة
فرز الدالة (اري)
KeepChecking = صحيح
افعل ذلك حتى KeepChecking = FALSE
KeepChecking = خطأ
لأنني = 0 إلى UBound(ary)
إذا كنت = UBound(ary) ثم قم بالخروج لـ
إذا ary(I) > ary(I+1) ثم
القيمة الأولى = آري (I)
القيمة الثانية = آري (I+1)
آري (I) = القيمة الثانية
آري(I+1) = القيمة الأولى
KeepChecking = صحيح
نهاية إذا
التالي
حلقة
فرز = آري
وظيفة النهاية
مثال على تطبيق دالة فرز المصفوفات
DimMyArray
MyArray = صفيف (1,5,123,12,98)
MyArray = فرز (MyArray)
لأنني = Lbound(MyArray) إلى Ubound(MyArray)
Response.Write MyArray(I) & <br>
التالي
قم بتقسيم سلسلة وإرجاع مصفوفة
DimMyArray
MyArray = سبليت (سلسلة، فاصل)
لأنني = Lbound(MyArray) إلى Ubound(MyArray)
Response.Write MyArray(I) & <br>
التالي
استخدام المصفوفات في التطبيق والجلسة
التطبيق.القفل
التطبيق (StoredArray) = MyArray
التطبيق.فتح
LocalArray = التطبيق (StoredArray)
الكتابة فوق المصفوفة في التطبيق
التطبيق.القفل
التطبيق (StoredArray) = LocalArray
التطبيق.فتح
استخدام الجلسة هو نفس التطبيق
استيراد البيانات من قاعدة البيانات إلى المصفوفة
DimMyArray
الحصول على كافة السجلات
MyArray = RS.GetRows
احصل على أول 10 سجلات
MyArray = RS.GetRows(10)
للصف = 0 إلى UBound(MyArray, 2)
للعمود = 0 إلى UBound(MyArray, 1)
الاستجابة.اكتب (عمود، صف) و<br>
التالي
التالي
تمرير المصفوفة إلى صفحة أخرى
هناك العديد من الطرق لتمرير مصفوفة إلى صفحة أخرى، مثل الطرق الثلاثة التالية:
1. حدد سلسلة مفصولة بفواصل، ثم استخدم وظيفة التقسيم لإعادة إنشاء المصفوفة في الصفحة التالية.
2. قم بتخزين المصفوفة في متغير الجلسة ثم قم باستدعائها في الصفحة التالية.
3. قم بتمرير المصفوفة عبر المنطقة المخفية من النموذج، ويتم فصلها تلقائيًا بفواصل، ثم استخدم وظيفة التقسيم لإعادة إنشاء المصفوفة.
الطريقتان الأوليان جيدتان، لكن كلاهما أكثر تعقيدًا من الثالثة. وهنا سوف نقدم فقط الخيار الثالث لأنه الأبسط.
الملف 1.asp:
<%
خافت أنا
خافت مصفوفتي (20)
لأني = 0 إلى 20
myArray(I)=العنصر وأنا
التالي
%>
<أتش تي أم أل>
<الجسم>
<اسم النموذج=أسلوب نموذج الاختبار=إجراء النشر=2.asp>
<%
لأني=0 إلى ubound(myArray)
Response.write <input type=hidden name=myArray value=' & myArray(I) & '>
التالي
%>
<ص>
<نوع الإدخال=إرسال>
</النموذج>
</الجسم>
</html>
ما فعلناه أعلاه هو استخدام حقل ضمني منفصل لتخزين كل عنصر في المصفوفة في نموذج.
الملف 2.asp
<أتش تي أم أل>
<الجسم>
<%
سلسلة خافتة
خافت myArray
خافت أنا
arrString=طلب(myArray)
myArray = سبليت (arrString،،)
لأني=0 إلى ubound(myArray)
Response.write Item &I& = & myArray(I) & <br> & vbCrLf
التالي
%>
</الجسم>
</html>