単純な配列を定義する
ASP で配列を定義および初期化するには 2 つの方法があります。それぞれの例を見てみましょう。
方法 1:
MyArray = Array("1月","2月","3月","4月","5月","6月","7月","8月","9月","10月","11月","12月" ")
配列のサイズは、初期化された要素の数によって決まります。
方法 2:
次のようにコードをコピーします。
Dim myArray(2) '配列サイズを指定する
myArray(0)="1 月"
myArray(1)="2月"
配列の動的拡張
次のようにコードをコピーします。
DIM myArray()
REDIM myArray(20) '配列サイズを 20 に再定義します
ReDim Preserve MyArray(i) 'Preserve は配列内の元のデータを保持します
二次元配列
例:
dim MyArray(5,10) ' 2 次元配列を定義します
2 次元の代入の例:
MYArray(3,3)=100
2 次元配列の偽装実装方法もあります。
dimMyArray(5)
MyArray(0)=Array(...) '一次元配列
MyArray(1)=Array(...)'1次元配列
...
アクセスするときは、MyArray(x)(y) の形式を使用します。
配列インデックス
上記のメソッドを使用して配列を定義します。各次元配列の最初の要素の添え字は 0 で、最後の要素の添え字は要素の数 -1 です。
ただし、次のように配列の添字を指定することもできます。
dim MyArray1(3 to 10) '添字は 3 ~ 10、MyArray(3) は最初の要素の値を取得します
便利な配列関数
Ubound(配列名) 関数 -- 配列の最後の要素の添え字を返します。
Lbound (配列名) 関数 -- 配列の最初の要素の添え字を返します。デフォルトは 0 です。
その他のアプリケーション:
配列ソート関数
[コード]
関数ソート(配列)
KeepChecking = TRUE
KeepChecking = FALSEになるまで実行
KeepChecking = FALSE
I = 0 から UBound(ary) の場合
I = UBound(ary) の場合は終了します
ary(I) > ary(I+1) の場合
FirstValue = ary(I)
SecondValue = ary(I+1)
ary(I) = SecondValue
ary(I+1) = FirstValue
KeepChecking = TRUE
終了の場合
次
ループ
並べ替え = 配列
終了機能
配列ソート機能の応用例
次のようにコードをコピーします。
DimMyArray
MyArray = 配列(1,5,123,12,98)
MyArray = ソート(MyArray)
I = Lbound(MyArray) から Ubound(MyArray) の場合
Response.Write MyArray(I) & "<br>"
次
文字列を分割して配列を返す
次のようにコードをコピーします。
DimMyArray
MyArray = Split(文字列, 区切り文字)
I = Lbound(MyArray) から Ubound(MyArray) の場合
Response.Write MyArray(I) & "<br>"
次
アプリケーションとセッションでの配列の使用
アプリケーション.ロック
Application("StoredArray") = MyArray
アプリケーション.ロック解除
LocalArray = アプリケーション("StoredArray")
アプリケーション内の配列を上書きする
アプリケーション.ロック
Application("StoredArray") = LocalArray
アプリケーション.ロック解除
セッションの使用法はアプリケーションと同じです
データベースから配列にデータをインポートする
DimMyArray
すべてのレコードを取得する
MyArray = RS.GetRows
最初の 10 レコードを取得する
MyArray = RS.GetRows(10)
行 = 0 から UBound(MyArray, 2) の場合
Col = 0 から UBound(MyArray, 1) の場合
Response.Write (列、行) & "<br>"
次
次
配列を別のページに渡す
配列を別のページに渡す方法は数多くあります。現在、次の 3 つの方法があります。
カンマ区切りの文字列を定義し、次のページで Split 関数を使用して配列を再作成します。
配列をセッション変数に保存し、次のページで呼び出します。
配列はフォームの非表示領域を通過し、自動的にカンマで区切られ、Split 関数を使用して配列が再作成されます。
最初の 2 つの方法は優れていますが、どちらも 3 番目の方法よりも複雑です。 3 番目の方法が最も簡単で効果的なため、ここでは 3 番目の方法のみを紹介します。
1.asp:
<%
ぼんやりとした私
dim myArray(20)
I=0~20の場合
myArray(I)="アイテム " & I
次
%>
<html>
<本文>
<form method="post" action="2.asp">
<%
for I=0 から ubound(myArray)
response.write "<input type=hidden name=myArray value='" & myArray(I) & ''>"
次
%>
<p>
<input type="送信">
</form>
</body>
</html>
上で行ったのは、個別の暗黙フィールドを使用して、フォームの配列内の各要素を格納することです。次のページを見てみましょう。
2.asp
<html>
<本文>
<%
薄暗いarrString
私の配列を暗くする
ぼんやりとした私
arrString=request("myArray")
myArray = split(arrString,",")
for I=0 から ubound(myArray)
response.write "アイテム "&I&" = " & myArray(I) & "<br>" & vbCrLf
次
%>
</body>
</html>
興味がありそうな記事: