配列

  目次



配列の初期化(作成)

配列の初期値設定 (配列の要素数のヒント)

配列データの追加

連想配列の初期値設定

連想配列データの追加

配列かどうかの検査

配列の要素を削除する

  配列の初期化(作成)



PHP
  
$a = array();

※ array()は、言語構成要素であり、通常の関数ではありません

  

ASP(VBScript)
  
a = Array()

※ Array()は、関数です

  

ASP(JScript)
  
a = Array();

※ Arrayはオブジェクトで、Array()は、コンストラクタです

  

Perl
  
@a = ();

  

  配列の初期値設定 (配列の要素数のヒント)

PHP
  
$a = array( "A", "B", "C" );

# ----------------------------------------------------------
foreach( $a as $Data ) {
	print $Data . "<br>";
}

// ----------------------------------------------------------
for( $i = 0; $i < count( $a ); $i++ ) {
	print $a[$i] . "<br>";
}

// ----------------------------------------------------------
reset ($a);
while ( list(, $Data) = each($a) ) {
	print $Data . "<br>";
}

  

ASP(VBScript)
  
a = Array( "A", "B", "C" )

' ----------------------------------------------------------
For Each Data in a
	Response.Write Data & "<br>"
Next

' ----------------------------------------------------------
For i = 0 to Ubound( a )
	Response.Write a(i) & "<br>"
Next

  

ASP(JScript)
  
a = Array( "A","B","C" );

// ----------------------------------------------------------
for( Key in a )   {
	Response.Write( a[Key] + "<br>" );
}

// ----------------------------------------------------------
for( i = 0; i < a.length; i++ ) {
	Response.Write( a[i] + "<br>" );
}

  

Perl
  
@a = ( "A", "B", "C" );

# ----------------------------------------------------------
foreach $Data ( @a ) {
	print $Data ."<br>";
}

# ----------------------------------------------------------
for ( $i = 0; $ i <= $#a; $i++ ) {
	print $a[$i] . "<br>";
}

# ----------------------------------------------------------
for ( 0 .. $#a ) {
	print $a[$_] . "<br>";
}

  

  配列データの追加

PHP
  
$a[] = "A";
$a[] = "B";
$a[] = "C";

print_r($a); の結果は以下のようになります

Array
(
    [0] => A
    [1] => B
    [2] => C
)

  

ASP(VBScript)
a = Array()
ReDim Preserve a(Ubound( a )+1) : a(Ubound( a )) = "A"
ReDim Preserve a(Ubound( a )+1) : a(Ubound( a )) = "B"
ReDim Preserve a(Ubound( a )+1) : a(Ubound( a )) = "C"

※ Dim や ReDim で最初に「配列として」宣言されてしまった変数にこの方法は使用できない

ASP(JScript)
  
a.push( "A" );
a.push( "B" );
a.push( "C" );

  

Perl
  
push( a, "A" );
push( a, "B" );
push( a, "C" );

  



  連想配列の初期値設定

PHP
  
$Color = array(
	"RED" 		=> "#FF0000"
	,"VIOLET" 	=> "#EE82EE"
	,"SALMON" 	=> "#FA8072"
);

# ----------------------------------------------------------
# カラーコード一覧  ( ※値を取得  )
foreach( $Color as $ColorCode ) {
	print $ColorCode . "<br>";
}

# ----------------------------------------------------------
# 内容の一覧
foreach( $Color as $ColorName => $ColorCode ) {
	print "$ColorName のコードは $ColorCode<br>";
}

# ----------------------------------------------------------
# ※キーの配列を取得
$ColorName = array_keys( $Color );
foreach( $ColorName as $Data ) {
	print $Data . "<br>";
}

# ----------------------------------------------------------
# ※値の配列を取得
$ColorCode = array_values( $Color );
foreach( $ColorCode as $Data ) {
	print $Data . "<br>";
}

  

ASP(VBScript)
  
Set Color = Server.CreateObject("Scripting.Dictionary")
Color.Add "RED"	,"#FF0000"
Color.Add "VIOLET"	,"#EE82EE"
Color.Add "SALMON"	,"#FA8072"

' ----------------------------------------------------------
' カラーコード一覧   ( ※キーを取得  )
For Each ColorName in Color
	Response.Write Color(ColorName) & "<br>"
Next

' ----------------------------------------------------------
' 内容の一覧
For Each ColorName in Color
	Response.Write ColorName & "のコードは" & Color(ColorName) & "<br>"
Next

' ----------------------------------------------------------
' ※キーの配列を取得
ColorName = Color.Keys
For Each Data in ColorName
	Response.Write Data & "<br>"
Next

' ----------------------------------------------------------
' ※値の配列を取得
ColorCode = Color.Items
For Each Data in ColorCode
	Response.Write Data & "<br>"
Next

  

ASP(JScript)
  
Color = {
	"RED" 		: "#FF0000"
	,"VIOLET" 	: "#EE82EE"
	,"SALMON" 	: "#FA8072"
};

// ----------------------------------------------------------
// カラーコード一覧   ( ※キーを取得  )
for(ColorName in Color)   {
	Response.Write( Color[ColorName] + "<br>" );
}

// ----------------------------------------------------------
// 内容の一覧
for(ColorName in Color)   {
	Response.Write( ColorName + "のコードは" + Color[ColorName] + "<br>" );
}

  

Perl
  
%Color = (
	'RED' 		, '#FF0000'
	,'VIOLET' 	, '#EE82EE'
	,'SALMON' 	, '#FA8072'
);

# ----------------------------------------------------------
# カラーコード一覧
@ColorCode = values( %Color );
foreach $Data ( @ColorCode ) {
	print $Data ."<br>";
}

# ----------------------------------------------------------
# カラー名一覧
@ColorName = keys( %Color );
foreach $Data ( @ColorName ) {
	print $Data ."<br>";
}

# ----------------------------------------------------------
# 内容の一覧
while ( ( $ColorName, $ColorCode ) = each( %Color ) ) {
       print "$ColorName のコードは $ColorCode<br>";
} 

  

  連想配列データの追加

PHP
  
$Color = array(
	"RED" 		=> "#FF0000"
	,"VIOLET" 	=> "#EE82EE"
	,"SALMON" 	=> "#FA8072"
);

$Color["BLACK"] = "#000000";
$Color["WHITE"] = "#FFFFFF";

  

ASP(VBScript)
  
Set Color = Server.CreateObject("Scripting.Dictionary")
Color.Add "RED"	,"#FF0000"
Color.Add "VIOLET"	,"#EE82EE"
Color.Add "SALMON"	,"#FA8072"

Color.Add "BLACK"	,"#000000"
Color.Add "WHITE"	,"#FFFFFF"

  

ASP(JScript)
  
Color = {
	"RED" 		: "#FF0000"
	,"VIOLET" 	: "#EE82EE"
	,"SALMON" 	: "#FA8072"
};

Color["BLACK"] = "#000000";
Color["WHITE"] = "#FFFFFF";

  

Perl
  
%Color = (
	"RED" 		, "#FF0000"
	,"VIOLET" 	, "#EE82EE"
	,"SALMON" 	, "#FA8072"
);

$Color{"BLACK"} = "#000000";
$Color{"WHITE"} = "#FFFFFF";

  

  配列かどうかの検査

PHP
  
# ----------------------------------------------------------
$a = "A";
print ArrayCheck( $a );

# ----------------------------------------------------------
$a = array();
print ArrayCheck( $a );

# ----------------------------------------------------------
function ArrayCheck( $a ) {

	if ( is_array($a) ) {
		return "配列です<br>";
	}
	else {
		return "配列ではありません<br>";
	}

}

  

ASP(VBScript)
  
' ----------------------------------------------------------
a = "A"
Response.Write ArrayCheck( a )

' ----------------------------------------------------------
a = Array()
Response.Write ArrayCheck( a )

' ----------------------------------------------------------
Function ArrayCheck( a )

	if IsArray( a ) then
		ArrayCheck = "配列です<br>"
	else
		ArrayCheck = "配列ではありません<br>"
	end if

End Function

  

ASP(JScript)l
  
JScript では、配列はオブジェクトなので、配列である事を使用者が知っていなければならない

  

Perl
  
Perl では、変数参照時に配列である事を明示しなければならない

  

  配列の要素を削除する

PHP
  
# ----------------------------------------------------------
$a = array( "A", "B", "C" );
unset( $a[1] );

print_r($a); の結果は以下のようになります

Array
(
    [0] => A
    [2] => C
)

※ インデックスを 0, 1 とするには、array_splice( $a, 1, 1 ) とします

# ----------------------------------------------------------
$Color = array(
	"RED" 		=> "#FF0000"
	,"VIOLET" 	=> "#EE82EE"
	,"SALMON" 	=> "#FA8072"
);
unset( $Color["VIOLET"] );

print_r($Color); の結果は以下のようになります

Array
(
    [RED] => #FF0000
    [SALMON] => #FA8072
)

  

ASP(VBScript)
  
VBScript では、通常の配列の要素を直接的に削除する方法はありません
ユーザ関数を作るか、「Dictionary オブジェクト」を利用します

' ----------------------------------------------------------
Set a = Server.CreateObject("Scripting.Dictionary")
a.Add 0 ,"A"
a.Add 1 ,"B"
a.Add 2 ,"C"

a.Remove 1

※ 0 と "A"
※ 2 と "C" のペアが残ります。

' ----------------------------------------------------------
Set Color = Server.CreateObject("Scripting.Dictionary")
Color.Add "RED"	,"#FF0000"
Color.Add "VIOLET"	,"#EE82EE"
Color.Add "SALMON"	,"#FA8072"

Color.Remove "VIOLET"

  

ASP(JScript)
  
// ----------------------------------------------------------
a = Array("A","B","C");
a.splice( 1, 1 )

※ 0 と "A"
※ 1 と "C" のペアになります。

// ----------------------------------------------------------
Color = {
	"RED" 		: "#FF0000"
	,"VIOLET" 	: "#EE82EE"
	,"SALMON" 	: "#FA8072"

};

※ 上記のような配列の要素を削除するには、関数を作成する必要があります。
※ JScript でも、VBScript と同じ「Dictionary オブジェクト」を利用可能です(使いづらいですが)
// ----------------------------------------------------------
Color = Server.CreateObject("Scripting.Dictionary")
Color.Add( "RED"	,"#FF0000" )
Color.Add( "VIOLET"	,"#EE82EE" )
Color.Add( "SALMON"	,"#FA8072" )

Color.Remove( "VIOLET" )

// ----------------------------------------------------------
Key = (VBArray(Color.Keys())).toArray()
for(i = 0; i < Color.Count; i++ )   {
	Response.Write( Key[i] + " : " +  Color(Key[i]) + "<br>" );
}

  

Perl
  
# ----------------------------------------------------------
@a = ( "A", "B", "C" );
splice( @a, 1, 1 );
foreach $Data ( @a ) {
	print $Data ."<br>";
}

# ----------------------------------------------------------
%Color = (
	"RED" 		, "#FF0000"
	,"VIOLET" 	, "#EE82EE"
	,"SALMON" 	, "#FA8072"
);
delete $Color{"VIOLET"};
while ( ( $ColorName, $ColorCode ) = each( %Color ) ) {
       print "$ColorName のコードは $ColorCode<br>";
} 

  











   SQLの窓    create:2003/07/19  update:2014/09/07   管理者用(要ログイン)





フリーフォントWEBサービス

SQLの窓WEBサービス

SQLの窓フリーソフト

写真素材

一般WEBツールリンク

SQLの窓

フリーソフト

JSライブラリ