Определить простой массив
Существует два способа определения и инициализации массивов в asp, давайте посмотрим пример каждого из них:
Способ первый:
MyArray = Array("Январь","Фев","Март","Апрель","Май","Июнь","Июль","Август","Сентябрь","Октябрь", "Ноябрь","Декабрь ")
Размер массива определяется количеством инициализированных элементов.
Способ второй:
Скопируйте код кода следующим образом:
Dim myArray(2) 'Укажите размер массива
myArray(0)="Январь"
myArray(1)="Февраль"
Динамическое расширение массива
Скопируйте код кода следующим образом:
РАЗМЕР мойМассив()
REDIM myArray(20) 'Переопределяем размер массива до 20
ReDim Preserve MyArray(i) 'Preserve сохраняет исходные данные в массиве
двумерный массив
Пример:
dim MyArray(5,10) 'определяет двумерный массив
Пример двумерного присваивания:
МЯАррай(3,3)=100
Существует также замаскированный метод реализации двумерных массивов:
димМойАррай(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 = ЛОЖЬ
Для I = 0 до UBound(ary)
Если I = UBound(ary), то выйти за
Если ary(I) > ary(I+1) Тогда
ПервоеЗначение = ary(I)
ВтороеЗначение = ary(I+1)
ary(I) = Второе значение
ary(I+1) = ПервоеЗначение
KeepChecking = ИСТИНА
Конец, если
Следующий
Петля
Сортировка = ари
Конечная функция
Пример применения функции сортировки массива
Скопируйте код кода следующим образом:
DimMyArray
МойМассив = Массив(1,5,123,12,98)
МойМассив = Сортировать(МойМассив)
Для I = Lbound(MyArray) до Ubound(MyArray)
Response.Write MyArray(I) & "<br>"
Следующий
Разделить строку и вернуть массив
Скопируйте код кода следующим образом:
DimMyArray
MyArray = Split(строка, разделитель)
Для I = Lbound(MyArray) до Ubound(MyArray)
Response.Write MyArray(I) & "<br>"
Следующий
Использование массивов в приложении и сеансе
Приложение.Блокировка
Приложение("StoredArray") = MyArray
Приложение.Разблокировать
LocalArray = Приложение("StoredArray")
Перезаписать массив в приложении
Приложение.Блокировка
Приложение("StoredArray") = LocalArray
Приложение.Разблокировать
Использование сеанса такое же, как и использование приложения.
Импортировать данные из базы данных в массив
DimMyArray
Получить все записи
MyArray = RS.GetRows
Получите первые 10 записей
МойАррай = RS.GetRows(10)
Для строки = 0 To UBound(MyArray, 2)
Для col = 0 To UBound(MyArray, 1)
Response.Write (столбец, строка) & "<br>"
Следующий
Следующий
Передать массив на другую страницу
Существует много способов передать массив на другую страницу. На данный момент существует три метода:
Определите строку, разделенную запятыми, а затем используйте функцию Split, чтобы воссоздать массив на следующей странице.
Сохраните массив в переменной сеанса и вызовите его на следующей странице.
Массивы передаются через скрытую область формы, они автоматически разделяются запятыми, а затем используется функция Split для повторного создания массива.
Первые два способа хороши, но оба сложнее третьего. Здесь мы представим только третий, поскольку он самый простой и эффективный.
1.асп:
<%
тусклый я
тусклый мойArray(20)
для I = от 0 до 20
myArray(I)="Элемент " и я
следующий
%>
<html>
<тело>
<form метод="post" action="2.asp">
<%
для I = 0 для ubound (myArray)
response.write "<тип ввода=скрытое имя=значение myArray='" & myArray(I) & "'>"
следующий
%>
<р>
<input type="отправить">
</форма>
</тело>
</html>
Выше мы использовали отдельное неявное поле для хранения каждого элемента массива в форме. Давайте посмотрим на следующую страницу:
2.асп
<html>
<тело>
<%
тусклый arrString
затемнить мой массив
тусклый я
arrString = запрос («myArray»)
myArray = Split(arrString,",")
для I = 0 для ubound (myArray)
response.write "Item "&I&" = " & myArray(I) & "<br>" & vbCrLf
следующий
%>
</тело>
</html>
Статьи, которые могут вас заинтересовать: