กำหนดอาร์เรย์อย่างง่าย
มีสองวิธีในการกำหนดและเริ่มต้นอาร์เรย์ใน asp ลองดูตัวอย่างของแต่ละวิธี:
วิธีที่หนึ่ง:
MyArray = Array("ม.ค.,” ก.พ. ,” มี.ค. ,” เม.ย. ,” พ.ค. ,” มิ.ย. ,” ก.ค. ,” ส.ค. ,” ก.ย. ,” ต.ค. ”, “ พ.ย. ,” ธ.ค. ")
ขนาดของอาร์เรย์ถูกกำหนดโดยจำนวนองค์ประกอบที่เตรียมใช้งาน
วิธีที่สอง:
คัดลอกรหัสรหัสดังต่อไปนี้:
Dim myArray(2) 'ระบุขนาดอาร์เรย์
myArray(0)="ม.ค."
myArray(1)="ก.พ."
การขยายอาร์เรย์แบบไดนามิก
คัดลอกรหัสรหัสดังต่อไปนี้:
ติ่มซำ myArray()
REDIM myArray(20) 'กำหนดขนาดอาร์เรย์ใหม่เป็น 20
ReDim Preserve MyArray(i) 'Preserve จะเก็บข้อมูลต้นฉบับไว้ในอาร์เรย์
อาร์เรย์สองมิติ
ตัวอย่าง:
dim MyArray(5,10) 'กำหนดอาร์เรย์สองมิติ
ตัวอย่างของการมอบหมายสองมิติ:
MYArray(3,3)=100
นอกจากนี้ยังมีวิธีการนำไปใช้ปลอมสำหรับอาร์เรย์สองมิติ:
dimMyArray(5)
MyArray(0)=Array(...) 'อาร์เรย์หนึ่งมิติ
MyArray(1)=Array(...)'อาร์เรย์หนึ่งมิติ
-
เมื่อเข้าใช้งานให้ใช้รูปแบบ MyArray(x)(y)
ดัชนีอาร์เรย์
ใช้วิธีการข้างต้นเพื่อกำหนดอาร์เรย์ ตัวห้อยขององค์ประกอบแรกของแต่ละอาร์เรย์มิติคือ 0 และตัวห้อยขององค์ประกอบสุดท้ายคือจำนวนองค์ประกอบ -1
แต่คุณยังสามารถระบุตัวห้อยของอาร์เรย์ได้ เช่น:
dim MyArray1(3 to 10) 'ตัวห้อยคือจาก 3 ถึง 10, MyArray(3) รับค่าขององค์ประกอบแรก
ฟังก์ชั่นอาร์เรย์ที่มีประโยชน์
ฟังก์ชัน Ubound(ชื่ออาร์เรย์) ส่งคืนตัวห้อยขององค์ประกอบสุดท้ายของอาร์เรย์
ฟังก์ชัน Lbound (ชื่ออาร์เรย์) ส่งคืนตัวห้อยขององค์ประกอบแรกของอาร์เรย์ ค่าเริ่มต้นคือ 0
การใช้งานเพิ่มเติม:
ฟังก์ชั่นการเรียงลำดับอาร์เรย์
[รหัส]
ฟังก์ชั่นการเรียงลำดับ (ary)
KeepChecking = จริง
ทำจนกระทั่ง KeepChecking = FALSE
KeepChecking = FALSE
สำหรับ I = 0 ถึง UBound(ary)
ถ้าฉัน = UBound(ary) ให้ออกจาก For
ถ้า ary(I) > ary(I+1) แล้ว
ค่าแรก = ary(I)
ค่าที่สอง = ary(I+1)
ary(I) = ค่าที่สอง
ary(I+1) = ค่าแรก
KeepChecking = จริง
สิ้นสุดถ้า
ต่อไป
วนซ้ำ
เรียงลำดับ = อารีย์
สิ้นสุดฟังก์ชัน
ตัวอย่างการใช้งานฟังก์ชันการเรียงลำดับอาร์เรย์
คัดลอกรหัสรหัสดังต่อไปนี้:
DimMyArray
MyArray = อาร์เรย์(1,5,123,12,98)
MyArray = เรียงลำดับ (MyArray)
สำหรับ I = Lbound(MyArray) ถึง Ubound(MyArray)
การตอบกลับเขียน MyArray(I) & "<br>"
ต่อไป
แยกสตริงและส่งกลับอาร์เรย์
คัดลอกรหัสรหัสดังต่อไปนี้:
DimMyArray
MyArray = แยก (สตริง, ตัวคั่น)
สำหรับ I = Lbound(MyArray) ถึง Ubound(MyArray)
การตอบกลับเขียน MyArray(I) & "<br>"
ต่อไป
การใช้อาร์เรย์ในแอปพลิเคชันและเซสชัน
แอปพลิเคชั่นล็อค
แอปพลิเคชัน ("StoredArray") = MyArray
แอปพลิเคชั่นปลดล็อค
LocalArray = แอปพลิเคชัน ("StoredArray")
เขียนทับอาร์เรย์ในแอปพลิเคชัน
แอปพลิเคชั่นล็อค
แอปพลิเคชัน ("StoredArray") = LocalArray
แอปพลิเคชั่นปลดล็อค
การใช้งานเซสชันเหมือนกับแอปพลิเคชัน
นำเข้าข้อมูลจากฐานข้อมูลไปยังอาร์เรย์
DimMyArray
รับบันทึกทั้งหมด
MyArray = RS.GetRows
รับ 10 รายการแรก
MyArray = RS.GetRows(10)
สำหรับแถว = 0 ถึง UBound (MyArray, 2)
สำหรับ col = 0 ถึง UBound (MyArray, 1)
Response.Write (คอลัมน์, แถว) & "<br>"
ต่อไป
ต่อไป
ส่งผ่านอาร์เรย์ไปยังหน้าอื่น
มีหลายวิธีในการส่งอาร์เรย์ไปยังหน้าอื่น ปัจจุบันมีสามวิธี:
กำหนดสตริงที่คั่นด้วยเครื่องหมายจุลภาค จากนั้นใช้ฟังก์ชัน Split ในหน้าถัดไปเพื่อสร้างอาร์เรย์ใหม่
เก็บอาร์เรย์ไว้ในตัวแปร Session และเรียกใช้ในหน้าถัดไป
อาร์เรย์จะถูกส่งผ่านพื้นที่ที่ซ่อนอยู่ของแบบฟอร์ม โดยคั่นด้วยเครื่องหมายจุลภาคโดยอัตโนมัติ จากนั้นใช้ฟังก์ชัน Split เพื่อสร้างอาร์เรย์ใหม่
สองวิธีแรกนั้นดี แต่ทั้งสองวิธีนั้นซับซ้อนกว่าวิธีที่สาม ที่นี่เราจะแนะนำเฉพาะอันที่สามเท่านั้นเพราะมันง่ายและมีประสิทธิภาพมากที่สุด
1.asp:
-
สลัวฉัน
หรี่ myArray (20)
สำหรับ I=0 ถึง 20
myArray(I)="รายการ" & I
ต่อไป
-
<html>
<ร่างกาย>
<รูปแบบวิธีการ = "โพสต์" การกระทำ = "2.asp">
-
สำหรับ I=0 ถึง ubound(myArray)
response.write "<input type=hidden name=myArray value='" & myArray(I) & "'>"
ต่อไป
-
<p>
<ประเภทอินพุต = "ส่ง">
</แบบฟอร์ม>
</ร่างกาย>
</html>
สิ่งที่เราทำข้างต้นคือการใช้ฟิลด์โดยนัยแยกต่างหากเพื่อจัดเก็บแต่ละองค์ประกอบในอาร์เรย์ในรูปแบบ มาดูหน้าถัดไปกัน:
2.asp
<html>
<ร่างกาย>
-
arrString สลัว
หรี่ myArray
สลัวฉัน
arrString=request("myArray")
myArray = แยก(arrString,",")
สำหรับ I=0 ถึง ubound(myArray)
response.write "รายการ "&I&" = " & myArray(I) & "<br>" & vbCrLf
ต่อไป
-
</ร่างกาย>
</html>
บทความที่คุณอาจสนใจ: