تحديد مجموعة بسيطة
هناك طريقتان لتعريف وتهيئة المصفوفات في asp، دعونا نرى مثالاً لكل منهما:
الطريقة الأولى:
MyArray = Array("Jan"، "Feb"، "Mar"، "Apr"، "مايو"، "Jun"، "Jul"، "Aug"، "Sep"، "أكتوبر"، "Nov"، "Dec" ")
يتم تحديد حجم المصفوفة من خلال عدد العناصر التي تمت تهيئتها.
الطريقة الثانية:
انسخ رمز الكود كما يلي:
Dim myArray(2) "حدد حجم الصفيف."
صفيفي (0) = "يناير"
صفيفي (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)
الاستجابة.اكتب MyArray(I) و"<br>"
التالي
قم بتقسيم سلسلة وإرجاع مصفوفة
انسخ رمز الكود كما يلي:
DimMyArray
MyArray = سبليت (سلسلة، فاصل)
لأنني = Lbound(MyArray) إلى Ubound(MyArray)
الاستجابة.اكتب MyArray(I) و"<br>"
التالي
استخدام المصفوفات في التطبيق والجلسة
التطبيق.القفل
Application("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.asp:
<%
خافت أنا
خافت مصفوفتي (20)
لأني = 0 إلى 20
myArray(I)="العنصر" & I
التالي
%>
<أتش تي أم أل>
<الجسم>
<طريقة النموذج = "post" action = "2.asp">
<%
لأني=0 إلى ubound(myArray)
Response.write "<نوع الإدخال=الاسم المخفي=قيمة myArray='" & myArray(I) & "'>"
التالي
%>
<ص>
<نوع الإدخال = "إرسال">
</النموذج>
</الجسم>
</html>
ما فعلناه أعلاه هو استخدام حقل ضمني منفصل لتخزين كل عنصر في المصفوفة في نموذج.
2.asp
<أتش تي أم أل>
<الجسم>
<%
سلسلة خافتة
خافت myArray
خافت أنا
arrString=request("myArray")
myArray = سبليت (arrString، "،")
لأني=0 إلى ubound(myArray)
Response.write "العنصر "&I&" = " & myArray(I) & "<br>" & vbCrLf
التالي
%>
</الجسم>
</html>
مقالات قد تهمك: