arrayとは? わかりやすく解説

アレイ【array】

読み方:あれい

配置配列

情報科学で、ある項目にしたがって、データ並べたもの。配列一次元配列二次元配列などがある。


配列 連想配列

【同】 連想配列
【英】 Array,Associative Array

データ並べたデータ形式で、ほとんどのプログラミング言語存在する基本的な形式のひとつ。配列に含まれるそれぞれのデータ要素といい、キーによって識別される

PHPの場合はキーとして数字だけでなく文字列も取ることができ、特にその場合の配列を連想配列と呼ぶ


配列

読み方はいれつ
【英】array

配列とは、プログラムで扱うデータ構造において、同じ長さデータ並べたものである一般的には、配列に格納できるデータ個数はあらかじめ決めておく場合が多い。

配列内のデータは、先頭からの順番で指定する先頭の順番を1から始めるか、0からは始めるかは、プログラム言語により異なる。

配列は、扱いやすいデータ構造であるといわれている。ただし、いったん配列にデータを格納したあとで、途中データ挿入する場合、あるいは、配列からデータ削除する場合には、データ移動する必要がある

プログラミングのほかの用語一覧
コーディング:  オーバーフロー  オーバーロード  打ち切り誤差  配列  バグ  パラメータ  パーサ

array

(PHP 4, PHP 5)
array — 配列を生成する

説明

array array ( [mixed ...] )
パラメータの配列を返します。パラメータには、 =>演算子によりインデックスを指定することもできます。 配列に関するより詳しい情報は配列型 のセクションをご覧ください。
注意: array()は、実際にはリテラル配列を表現するための 言語構成要素であり、通常の関数ではありません。

カンマで区切った構文 "index => values" は、インデックスと値を定義します。 インデックスは文字列または数値とすることが可能です。 インデックスが省略された場合、0から始まる整数インデックスが自動的に生成されます。 インデックスが整数の場合、次に生成されるインデックスは、 整数インデックスの最大値 + 1 となります。同じインデックスを二度定義した場合、 後の定義により最初の定義が上書きされることに注意してください。
一般的ではないですが、 最後に定義された配列エントリの後に続くカンマがある場合、 これは有効な構文です。
以下の例では、二次元配列の生成方法、連想配列のキーの指定方法、 および通常の配列において添字番号をスキップし、 それに続く要素にアクセスする方法についてご紹介しています。 例 271. array() の例
<?php
$fruits = array (
   "fruits"  => array("a" => "orange", "b" => "banana", "c" => "apple"),
   "numbers" => array(1, 2, 3, 4, 5, 6),
   "holes"  => array("first", 5 => "second", "third")
);
?>


例 272. array() における自動インデックス
<?php
$array = array(1, 1, 1, 1,  1, 8 => 1,  4 => 1, 19, 3 => 13);
print_r($array);
?>
上の例の出力は以下となります。
Array
(
   [0] => 1
   [1] => 1
   [2] => 1
   [3] => 13
   [4] => 1
   [8] => 1
   [9] => 19
)


インデックス '3' は二度定義されており、後の値 13 が保持されることに注意してください。 インデックス 4 はインデックス 8 の後に定義され、 次に生成されるインデックス (値は 19) は、最大のインデックスが 8 であるため、9 となります。
次の例は、1 から始まる配列を作成します。 例 273. array() で 1 から始まる配列を作成
<?php
$firstquarter = array(1 => 'January', 'February', 'March');
print_r($firstquarter);
?>
上の例の出力は以下となります。

Array
(
    [1] => January
    [2] => February
    [3] => March
)

    


Perl では、ダブルクオートで囲まれた配列の値にアクセスすることができます。 しかしながら、PHP では配列を中括弧で囲む必要があります。 例 274. ダブルクオートで囲まれた配列にアクセスする
<?php

$foo = array('bar' => 'baz');
echo "Hello {$foo['bar']}!"; // Hello baz!

?>


array_pad()list()count()foreach および range() も参照ください。

配列関数(array)

導入

これらの関数により様々な手法で配列にアクセスし、操作することが可能 になります。配列は、変数の組を保存、管理、操作する基本的な要素です。
通常の配列および多次元配列がサポートされており、ユーザが定義したり、 他の関数で作成することも可能です。いくつかのデータベース処理関数は、 データベースのクエリから配列を返しますし、いくつかの関数は配列を返 します。
PHPでの配列の実装や使用方法の詳細については、マニュアルの 配列に関する節を参照下 さい。 その他の配列の操作方法については、 配列演算子も 参照ください。

要件

外部ライブラリを必要としません。

インストール手順

PHP コアに含まれるため、 追加のインストール無しで使用できます。

実行時設定

設定ディレクティブは定義されていません。

リソース型

リソース型は定義されていません。

定義済み定数

以下の定数は、PHP コアに含まれており、常に利用可能です。
CASE_LOWER (integer)
CASE_LOWERは、 array_change_key_case()で使用され、 配列のキーを小文字に変換するために使用されます。小文字は、 array_change_key_case()のデフォルトのケースで もあります。
CASE_UPPER (integer)
CASE_UPPERは、 array_change_key_case()で使用され、配列のキー を大文字に変換するために使用されます。

ソース順のフラグ:
SORT_ASC (integer)
SORT_ASCは、 array_multisort()でソート順を昇順にするために 使用されます。
SORT_DESC (integer) (integer)
SORT_DESCは、 array_multisort()でソート順を降順にするために 使用されます。

ソート型のフラグ: 種々のソート関数で使用されます
SORT_REGULAR (integer)
SORT_REGULARは通常の比較するために使用され ます。
SORT_NUMERIC (integer)
SORT_NUMERICは数値で比較を行うために使用さ れます。
SORT_STRING (integer)
SORT_STRINGは文字列として比較を行うために使 用されます。
SORT_LOCALE_STRING (integer)
SORT_LOCALE_STRINGは現在のロケールに基づいた 文字列として比較を行うために使用されます。 PHP 4.4.0と5.0.2で追加 されました。

COUNT_NORMAL (integer)
COUNT_RECURSIVE (integer)
EXTR_OVERWRITE (integer)
EXTR_SKIP (integer)
EXTR_PREFIX_SAME (integer)
EXTR_PREFIX_ALL (integer)
EXTR_PREFIX_INVALID (integer)
EXTR_PREFIX_IF_EXISTS (integer)
EXTR_IF_EXISTS (integer)
EXTR_REFS (integer)

参考

is_array(), explode(), implode(), split(), preg_split(), および join() も参照してください。

目次

array_change_key_case — 配列のキーを全て小文字または大文字にして返す
array_chunk — 配列を分割する
array_combine — 一方の配列をキーとして、もう一方の配列を値として、ひとつの配列を生成する
array_count_values — 配列の値の数を数える
array_diff_assoc — 追加された添字の確認を含めて配列の差を計算する
array_diff_key — キーを基準にして配列の差を計算する
array_diff_uassoc — ユーザが指定したコールバック関数を利用し、 追加された添字の確認を含めて配列の差を計算する
array_diff_ukey — キーを基準にし、コールバック関数を用いて配列の差を計算する
array_diff — 配列の差を計算する
array_fill_keys — キーを指定して、配列を値で埋める
array_fill — 配列を指定した値で埋める
array_filter — コールバック関数を使用する配列要素フィルタ
array_flip — 配列のキーと値を反転する
array_intersect_assoc — 追加された添字の確認も含めて配列の共通項を確認する
array_intersect_key — キーを基準にして配列の共通項を計算する
array_intersect_uassoc — 追加された添字の確認も含め、コールバック関数を用いて 配列の共通項を確認する
array_intersect_ukey — キーを基準にし、コールバック関数を用いて 配列の共通項を計算する
array_intersect — 配列の共通項を計算する
array_key_exists — 指定したキーまたは添字が配列にあるかどうかを調べる
array_keys — 配列のキーをすべて返す
array_map — 指定した配列の要素にコールバック関数を適用する
array_merge_recursive — 二つ以上の配列を再帰的にマージする
array_merge — ひとつまたは複数の配列をマージする
array_multisort — 複数の多次元の配列をソートする
array_pad — 指定長、指定した値で配列を埋める
array_pop — 配列の末尾から要素を取り除く
array_product — 配列の値の積を計算する
array_push — 一つ以上の要素を配列の最後に追加する
array_rand — 配列から一つ以上の要素をランダムに取得する
array_reduce — コールバック関数を用いて配列を普通の値に変更することにより、 配列を再帰的に減らす
array_reverse — 要素を逆順にした配列を返す
array_search — 指定した値を配列で検索し、見つかった場合に対応するキーを返す
array_shift — 配列の先頭から要素を一つ取り出す
array_slice — 配列の一部を展開する
array_splice — 配列の一部を削除し、他の要素で置換する
array_sum — 配列の中の値の合計を計算する
array_udiff_assoc — データの比較にコールバック関数を用い、 追加された添字の確認を含めて配列の差を計算する
array_udiff_uassoc — データと添字の比較にコールバック関数を用い、 追加された添字の確認を含めて配列の差を計算する
array_udiff — データの比較にコールバック関数を用い、配列の差を計算する
array_uintersect_assoc — データの比較にコールバック関数を用い、 追加された添字の確認も含めて配列の共通項を計算する
array_uintersect_uassoc — データと添字の比較にコールバック関数を用い、 追加された添字の確認も含めて配列の共通項を計算する
array_uintersect — データの比較にコールバック関数を用い、配列の共通項を計算する
array_unique — 配列から重複した値を削除する
array_unshift — 一つ以上の要素を配列の最初に加える
array_values — 配列の全ての値を返す
array_walk_recursive — 配列の全ての要素に、ユーザー関数を再帰的に適用する
array_walk — 配列の全ての要素にユーザ関数を適用する
array — 配列を生成する
arsort — 連想キーと要素との関係を維持しつつ配列を逆順にソートする
asort — 連想キーと要素との関係を維持しつつ配列をソートする
compact — 変数名とその値から配列を作成する
count — 変数に含まれる要素、 あるいはオブジェクトに含まれるプロパティの数を数える
current — 配列内の現在の要素を返す
each — 配列から、次のキーと値のペアを返す
end — 配列の内部ポインタを最終要素にセットする
extract — 配列からシンボルテーブルに変数をインポートする
in_array — 配列に値があるかチェックする
key — 連想配列からキーを取り出す
krsort — 配列をキーで逆順にソートする
ksort — 配列をキーでソートする
list — 配列と同様の形式で、複数の変数への代入を行う
natcasesort — 大文字小文字を区別しない"自然順"アルゴリズムを用いて配列をソートする
natsort — "自然順"アルゴリズムで配列をソートする
next — 内部配列ポインタを進める
poscurrent() のエイリアス
prev — 内部の配列ポインタをひとつ前に戻す
range — ある範囲の整数を有する配列を作成する
reset — 配列の内部ポインタを先頭の要素にセットする
rsort — 配列を逆順にソートする
shuffle — 配列をシャッフルする
sizeofcount() のエイリアス
sort — 配列をソートする
uasort — ユーザー定義の比較関数で配列をソートし、連想インデックスを保持する
uksort — ユーザー定義の比較関数を用いて、キーで配列をソートする
usort — ユーザー定義の比較関数を使用して、配列を値でソートする

Array クラス

配列作成操作検索、および並べ替えを行うメソッド提供しますこれにより共通言語ランタイムすべての配列基本クラスとして機能します

名前空間: System
アセンブリ: mscorlib (mscorlib.dll 内)
構文構文

解説解説

Array クラスは、配列サポートする言語による各実装基本クラスです。ただし、システムコンパイラ限りArray クラスから明示的に派生させることができます開発者は、言語によって提供される配列構造使用する必要があります

要素Array 内の値です。Array長さは、その配列含まれる要素合計数ですArrayランクは、Array次元数です。Array次元下限は、Array のその次元開始インデックスです。多次元 Array では次元ごとに下限異なることがあります

メモ重要 :

.NET Framework Version 2.0 では、Array クラスは System.Collections.Generic.IList、System.Collections.Generic.ICollection、および System.Collections.Generic.IEnumerable の各ジェネリック インターフェイス実装ます。この実装は、実行時配列提供されるため、ドキュメント作成ツールでは表示できませんしたがって、ジェネリック インターフェイスArray クラスの宣言構文には表示されないので、配列ジェネリック インターフェイス型にキャストすること (明示的なインターフェイスの実装) によってのみアクセスできるインターフェイス メンバに関する参照トピックありません配列これらのインターフェイスいずれかにキャストする場合には、要素を追加挿入、または削除するメンバNotSupportedExceptionスローすることに特に注意する必要があります

Type オブジェクトは、配列型宣言情報提供します配列型同じである Array オブジェクトは、同じ Type オブジェクト共有します

配列Array 型にキャストした場合に、結果配列ではなくオブジェクトになることもあるためType.IsArray および Type.GetElementType は、Array について予測される結果返さない場合あります。つまり、typeof(System.Array).IsArrayfalse返しtypeof(System.Array).GetElementTypenull 参照 (Visual Basic では Nothing) を返します

ほとんどのクラスとは異なりArray は、遅延バインディングによるアクセス可能にするために、パブリック コンストラクタではなく CreateInstance メソッド用意してます。

Array.Copy メソッドでは、同じ型の配列間だけでなく、異なる型の標準配列間でも要素コピーされます。つまり、自動的に型キャスト処理されます。

CreateInstance、CopyCopyTo、GetValue および SetValue など、メソッドによっては大容量配列対応するために 64 ビット整数パラメータとして受け取オーバーロード用意されています。LongLength および GetLongLength は、配列長さを示す 64 ビット整数返します

Array並べ替えられることは保証されていません。Array並べ替える必要のある操作 (BinarySearch など) を実行する前にArray並べ替える必要があります

使用例使用例

Array.Copy メソッド使用して整数型配列Object 型の配列間で要素をコピーする方法次のコード例示します

Public Class SamplesArray    
    
    Public Shared Sub Main()
        
        ' Creates and initializes a new integer array and a new Object
 array.
        Dim myIntArray() As Integer
 = {1, 2, 3, 4, 5}
        Dim myObjArray() As Object
 = {26, 27, 28, 29, 30}
        
        ' Prints the initial values of both arrays.
        Console.WriteLine("Initially,")
        Console.Write("integer array:")
        PrintValues(myIntArray)
        Console.Write("Object array: ")
        PrintValues(myObjArray)
        
        ' Copies the first two elements from the integer array to the
 Object array.
        Array.Copy(myIntArray, myObjArray, 2)
        
        ' Prints the values of the modified arrays.
        Console.WriteLine(ControlChars.NewLine + "After copying
 the first two" _
           + " elements of the integer array to the Object array
,")
        Console.Write("integer array:")
        PrintValues(myIntArray)
        Console.Write("Object array: ")
        PrintValues(myObjArray)
        
        ' Copies the last two elements from the Object array to the
 integer array.
        Array.Copy(myObjArray, myObjArray.GetUpperBound(0) - 1, myIntArray, _
           myIntArray.GetUpperBound(0) - 1, 2)
        
        ' Prints the values of the modified arrays.
        Console.WriteLine(ControlChars.NewLine + "After copying
 the last two" _
           + " elements of the Object array to the integer array
,")
        Console.Write("integer array:")
        PrintValues(myIntArray)
        Console.Write("Object array: ")
        PrintValues(myObjArray)
    End Sub
    
    Overloads Public Shared
 Sub PrintValues(myArr() As Object)
        Dim i As Object
        For Each i In  myArr
            Console.Write(ControlChars.Tab + "{0}",
 i)
        Next i
        Console.WriteLine()
    End Sub    
    
    Overloads Public Shared
 Sub PrintValues(myArr() As Integer)
        Dim i As Integer
        For Each i In  myArr
            Console.Write(ControlChars.Tab + "{0}",
 i)
        Next i
        Console.WriteLine()
    End Sub
End Class

' This code produces the following output.
' 
' Initially,
' integer array:  1       2       3       4       5
' Object array:   26      27      28      29      30
' 
' After copying the first two elements of the integer array to the Object
 array,
' integer array:  1       2       3       4       5
' Object array:   1       2       28      29      30
' 
' After copying the last two elements of the Object array to the integer
 array,
' integer array:  1       2       3       29      30
' Object array:   1       2       28      29      30
public class SamplesArray  {

   public static void Main()
  {

      // Creates and initializes a new integer array and a new Object
 array.
      int[] myIntArray = new int[5]
 { 1, 2, 3, 4, 5 };
      Object[] myObjArray = new Object[5] { 26, 27, 28, 29, 30
 };

      // Prints the initial values of both arrays.
      Console.WriteLine( "Initially," );
      Console.Write( "integer array:" );
      PrintValues( myIntArray );
      Console.Write( "Object array: " );
      PrintValues( myObjArray );

      // Copies the first two elements from the integer array to the
 Object array.
      Array.Copy( myIntArray, myObjArray, 2 );

      // Prints the values of the modified arrays.
      Console.WriteLine( "\nAfter copying the first two elements of the integer
 array to the Object array," );
      Console.Write( "integer array:" );
      PrintValues( myIntArray );
      Console.Write( "Object array: " );
      PrintValues( myObjArray );

      // Copies the last two elements from the Object array to the integer
 array.
      Array.Copy( myObjArray, myObjArray.GetUpperBound(0) - 1, myIntArray, myIntArray.GetUpperBound(0)
 - 1, 2 );

      // Prints the values of the modified arrays.
      Console.WriteLine( "\nAfter copying the last two elements of the Object
 array to the integer array," );
      Console.Write( "integer array:" );
      PrintValues( myIntArray );
      Console.Write( "Object array: " );
      PrintValues( myObjArray );
   }


   public static void PrintValues(
 Object[] myArr )  {
      foreach ( Object i in myArr )  {
         Console.Write( "\t{0}", i );
      }
      Console.WriteLine();
   }

   public static void PrintValues(
 int[] myArr )  {
      foreach ( int i in
 myArr )  {
         Console.Write( "\t{0}", i );
      }
      Console.WriteLine();
   }
}
/* 
This code produces the following output.

Initially,
integer array:  1       2       3       4       5
Object array:   26      27      28      29      30

After copying the first two elements of the integer array to the Object array,
integer array:  1       2       3       4       5
Object array:   1       2       28      29      30

After copying the last two elements of the Object array to the integer array,
integer array:  1       2       3       29      30
Object array:   1       2       28      29      30
*/
using namespace System;
void main1();
void main2();
void main()
{
   main1();
   Console::WriteLine();
   main2();
}

void PrintValues( array<Object^>^myArr );
void PrintValues( array<int>^myArr );
void main1()
{
   // Creates and initializes a new int array and a new Object array.
   array<int>^myIntArray = {1,2,3,4,5};
   array<Object^>^myObjArray = {26,27,28,29,30};

   // Prints the initial values of both arrays.
   Console::WriteLine(  "Initially," );
   Console::Write(  "int array:   " );
   PrintValues( myIntArray );
   Console::Write(  "Object array:" );
   PrintValues( myObjArray );

   // Copies the first two elements from the int array to the Object
 array.
   Array::Copy( myIntArray, myObjArray, 2 );

   // Prints the values of the modified arrays.
   Console::WriteLine(  "\nAfter copying the first two elements of the int
 array to the Object array," );
   Console::Write(  "int array:   " );
   PrintValues( myIntArray );
   Console::Write(  "Object array:" );
   PrintValues( myObjArray );

   // Copies the last two elements from the Object array to the int
 array.
   Array::Copy( myObjArray, myObjArray->GetUpperBound( 0 ) - 1, myIntArray, myIntArray->GetUpperBound(
 0 ) - 1, 2 );

   // Prints the values of the modified arrays.
   Console::WriteLine(  "\nAfter copying the last two elements of the Object
 array to the int array," );
   Console::Write(  "int array:   " );
   PrintValues( myIntArray );
   Console::Write(  "Object array:" );
   PrintValues( myObjArray );
}

void PrintValues( array<Object^>^myArr )
{
   for ( int i = 0; i < myArr->Length;
 i++ )
   {
      Console::Write(  "\t{0}", myArr[ i ] );

   }
   Console::WriteLine();
}

void PrintValues( array<int>^myArr )
{
   for ( int i = 0; i < myArr->Length;
 i++ )
   {
      Console::Write(  "\t{0}", myArr[ i ] );

   }
   Console::WriteLine();
}


/* 
 This code produces the following output.
 
 Initially,
 int array:       1    2    3    4    5
 Object array:    26    27    28    29    30
 After copying the first two elements of the int array to the
 Object array,
 int array:       1    2    3    4    5
 Object array:    1    2    28    29    30
 After copying the last two elements of the Object array to the int
 array,
 int array:       1    2    3    29    30
 Object array:    1    2    28    29    30
 */
public class SamplesArray
{
    public static void main(String[]
 args)
    {
        // Creates and initializes a new integer array and a new Object
 array.
        int myIntArray[] = new int[]
 { 1, 2, 3, 4, 5 };
        Object myObjArray[] = new Object[] { (Int32)26, (Int32)27,
 (Int32)28, 
            (Int32)29, (Int32)30};
        // Prints the initial values of both arrays.
        Console.WriteLine("Initially,");
        Console.Write("integer array:");
        PrintValues(myIntArray);
        Console.Write("Object array: ");
        PrintValues(myObjArray);
        // Copies the first two elements from the integer array to the
 
        // Object array.
        Array.Copy(myIntArray, myObjArray, 2);
        // Prints the values of the modified arrays.
        Console.WriteLine("\nAfter copying the first two elements of the"
            + " integer array to the Object array,");
        Console.Write("integer array:");
        PrintValues(myIntArray);
        Console.Write("Object array: ");
        PrintValues(myObjArray);
        // Copies the last two elements from the Object array to the
        // integer array.
        Array.Copy(myObjArray, myObjArray.GetUpperBound(0) - 1, myIntArray, 
            myIntArray.GetUpperBound(0) - 1, 2);
        // Prints the values of the modified arrays.
        Console.WriteLine("\nAfter copying the last two elements of the Object"
            + " array to the integer array,");
        Console.Write("integer array:");
        PrintValues(myIntArray);
        Console.Write("Object array: ");
        PrintValues(myObjArray);
    } //main

    public static void PrintValues(Object
 myArr[])
    {
        Object i = null;
        for (int iCtr = 0; iCtr < myArr.get_Length();
 iCtr++) {
            i = myArr[iCtr];
            Console.Write("\t{0}", i);
        }
        Console.WriteLine();
    } //PrintValues

    public static void PrintValues(int
 myArr[])
    { 
        int i = 0;
        for (int iCtr = 0; iCtr < myArr.get_Length();
 iCtr++) {
            i = myArr[iCtr];
            Console.Write("\t{0}", (Int32)i);
        }
        Console.WriteLine();
    } //PrintValues
} //SamplesArray

/* 
 This code produces the following output.
 
 Initially,
 integer array:  1       2       3       4       5
 Object array:   26      27      28      29      30

 After copying the first two elements of the integer array to the Object array,
 integer array:  1       2       3       4       5
 Object array:   1       2       28      29      30

 After copying the last two elements of the Object array to the integer array,
 integer array:  1       2       3       29      30
 Object array:   1       2       28      29      30
 */

Array作成および初期化し、そのプロパティ要素を表示するコード例次に示します

Public Class SamplesArray2    
    
    Public Shared Sub Main()
        
        ' Creates and initializes a new three-dimensional Array of
        ' type Int32.
        Dim myArr As Array = Array.CreateInstance(GetType(Int32),
 2, 3, 4)
        Dim i As Integer
        For i = myArr.GetLowerBound(0) To myArr.GetUpperBound(0)
            Dim j As Integer
            For j = myArr.GetLowerBound(1) To
 myArr.GetUpperBound(1)
                Dim k As Integer
                For k = myArr.GetLowerBound(2) To
 myArr.GetUpperBound(2)
                    myArr.SetValue(i * 100 + j * 10 + k, i, j, k)
                Next k
            Next j 
        Next i ' Displays the properties of the Array.
        Console.WriteLine("The Array has {0} dimension(s) and
 a " _
           + "total of {1} elements.", myArr.Rank,
 myArr.Length)
        Console.WriteLine(ControlChars.Tab + "Length"
 + ControlChars.Tab _
           + "Lower" + ControlChars.Tab + "Upper")
        For i = 0 To myArr.Rank - 1
            Console.Write("{0}:" + ControlChars.Tab
 + "{1}", i, _
               myArr.GetLength(i))
            Console.WriteLine(ControlChars.Tab + "{0}"
 + ControlChars.Tab _
               + "{1}", myArr.GetLowerBound(i), myArr.GetUpperBound(i))
        Next i
        
        ' Displays the contents of the Array.
        Console.WriteLine("The Array contains the following values:")
        PrintValues(myArr)
    End Sub
    
    Public Shared Sub PrintValues(myArr
 As Array)
        Dim myEnumerator As System.Collections.IEnumerator
 = _
           myArr.GetEnumerator()
        Dim i As Integer
 = 0
        Dim cols As Integer
 = myArr.GetLength(myArr.Rank - 1)
        While myEnumerator.MoveNext()
            If i < cols Then
                i += 1
            Else
                Console.WriteLine()
                i = 1
            End If
            Console.Write(ControlChars.Tab + "{0}",
 myEnumerator.Current)
        End While
        Console.WriteLine()
    End Sub
End Class

' This code produces the following output.
' 
' The Array has 3 dimension(s) and a total of 24 elements.
'     Length    Lower    Upper
' 0:    2    0    1
' 1:    3    0    2
' 2:    4    0    3
' The Array contains the following values:
'     0    1    2    3
'     10    11    12    13
'     20    21    22    23
'     100    101    102    103
'     110    111    112    113
'     120    121    122    123 
public class SamplesArray2{

   public static void Main()
  {

      // Creates and initializes a new three-dimensional Array of type
 Int32.
      Array myArr = Array.CreateInstance( typeof(Int32), 2, 3, 4 );
      for ( int i = myArr.GetLowerBound(0);
 i <= myArr.GetUpperBound(0); i++ )
         for ( int j = myArr.GetLowerBound(1);
 j <= myArr.GetUpperBound(1); j++ )
            for ( int k = myArr.GetLowerBound(2);
 k <= myArr.GetUpperBound(2); k++ )  {
               myArr.SetValue( (i*100)+(j*10)+k, i, j, k );
            }

      // Displays the properties of the Array.
      Console.WriteLine( "The Array has {0} dimension(s) and a total of {1}
 elements.", myArr.Rank, myArr.Length );
      Console.WriteLine( "\tLength\tLower\tUpper" );
      for ( int i = 0; i < myArr.Rank; i++
 )  {
         Console.Write( "{0}:\t{1}", i, myArr.GetLength(i) );
         Console.WriteLine( "\t{0}\t{1}", myArr.GetLowerBound(i), myArr.GetUpperBound(i)
 );
      }

      // Displays the contents of the Array.
      Console.WriteLine( "The Array contains the following values:" );
      PrintValues( myArr );
   }


   public static void PrintValues(
 Array myArr )  {
      System.Collections.IEnumerator myEnumerator = myArr.GetEnumerator();
      int i = 0;
      int cols = myArr.GetLength( myArr.Rank - 1 );
      while ( myEnumerator.MoveNext() )  {
         if ( i < cols )  {
            i++;
         } else  {
            Console.WriteLine();
            i = 1;
         }
         Console.Write( "\t{0}", myEnumerator.Current );
      }
      Console.WriteLine();
   }
}
/* 
This code produces the following output.

The Array has 3 dimension(s) and a total of 24 elements.
    Length    Lower    Upper
0:    2    0    1
1:    3    0    2
2:    4    0    3
The Array contains the following values:
    0    1    2    3
    10    11    12    13
    20    21    22    23
    100    101    102    103
    110    111    112    113
    120    121    122    123
*/
void PrintValues( Array^ myArr );
void main2()
{
   // Creates and initializes a new three-dimensional Array instance
 of type Int32.
   Array^ myArr = Array::CreateInstance( Int32::typeid, 2, 3, 4 );
   for ( int i = myArr->GetLowerBound( 0
 ); i <= myArr->GetUpperBound( 0 ); i++ )
   {
      for ( int j = myArr->GetLowerBound(
 1 ); j <= myArr->GetUpperBound( 1 ); j++ )
      {
         for ( int k = myArr->GetLowerBound(
 2 ); k <= myArr->GetUpperBound( 2 ); k++ )
            myArr->SetValue( (i * 100) + (j * 10) + k, i, j, k );

      }
   }
   
   // Displays the properties of the Array.
   Console::WriteLine(  "The Array instance has {0} dimension(s) and a total
 of {1} elements.", myArr->Rank, myArr->Length );
   Console::WriteLine(  "\tLength\tLower\tUpper" );
   for ( int i = 0; i < myArr->Rank;
 i++ )
   {
      Console::Write(  "{0}:\t{1}", i, myArr->GetLength( i ) );
      Console::WriteLine(  "\t{0}\t{1}", myArr->GetLowerBound( i ),
 myArr->GetUpperBound( i ) );

   }
   Console::WriteLine(  "The Array instance contains the following values:"
 );
   PrintValues( myArr );
}

void PrintValues( Array^ myArr )
{
   System::Collections::IEnumerator^ myEnumerator = myArr->GetEnumerator();
   int i = 0;
   int cols = myArr->GetLength( myArr->Rank - 1 );
   while ( myEnumerator->MoveNext() )
   {
      if ( i < cols )
            i++;
      else
      {
         Console::WriteLine();
         i = 1;
      }

      Console::Write(  "\t{0}", myEnumerator->Current );
   }

   Console::WriteLine();
}

/* 
 This code produces the following output.
 
 The Array instance has 3 dimension(s) and a total of 24 elements.
     Length    Lower    Upper
 0:    2    0    1
 1:    3    0    2
 2:    4    0    3
 The Array instance contains the following values:
     0    1    2    3
     10    11    12    13
     20    21    22    23
     100    101    102    103
     110    111    112    113
     120    121    122    123
 */
public class SamplesArray2
{
    public static void main(String[]
 args)
    {
        // Creates and initializes a new three-dimensional Array of type
 Int32.
        Array myArr = Array.CreateInstance(Int32.class.ToType(),
 2, 3, 4);
        for (int i = myArr.GetLowerBound(0);
 i <= myArr.GetUpperBound(0); i++) {
            for (int j = myArr.GetLowerBound(1);
 j <= myArr.GetUpperBound(1);
                j++) {
                for (int k = myArr.GetLowerBound(2);
 k <= myArr.
                    GetUpperBound(2); k++) {
                    myArr.SetValue((Int32)(i * 100 + j * 10 + k), i, j, k);
                }
            }
        }  // Displays the properties of the Array.
        Console.WriteLine("The Array has {0} dimension(s) and a total of"
            + " {1} elements.", System.Convert.ToString(myArr.get_Rank()),
 
            System.Convert.ToString(myArr.get_Length()));
        Console.WriteLine("\tLength\tLower\tUpper");
        for (int i = 0; i < myArr.get_Rank();
 i++) {
            Console.Write("{0}:\t{1}", System.Convert.ToString(i), 
                System.Convert.ToString(myArr.GetLength(i)));
            Console.WriteLine("\t{0}\t{1}", System.Convert.ToString(myArr.
                GetLowerBound(i)), System.Convert.ToString(myArr.
                GetUpperBound(i)));
        }
        // Displays the contents of the Array.
        Console.WriteLine("The Array contains the following values:");
        PrintValues(myArr);
    } //main

    public static void PrintValues(Array
 myArr)
    {
        System.Collections.IEnumerator myEnumerator = myArr.GetEnumerator();
        int i = 0;
        int cols = myArr.GetLength(myArr.get_Rank() - 1);
        while (myEnumerator.MoveNext()) {
            if (i < cols) {
                i++;
            }
            else {
                Console.WriteLine();
                i = 1;
            }
            Console.Write("\t{0}", myEnumerator.get_Current());
        }
        Console.WriteLine();
    } //PrintValues
} //SamplesArray2

/* 
 This code produces the following output.
 
 The Array has 3 dimension(s) and a total of 24 elements.
     Length    Lower    Upper
 0:    2    0    1
 1:    3    0    2
 2:    4    0    3
 The Array contains the following values:
     0    1    2    3
     10    11    12    13
     20    21    22    23
     100    101    102    103
     110    111    112    113
     120    121    122    123
 */
継承階層継承階層
System.Object
  System.Array
スレッド セーフスレッド セーフ
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照

Array プロパティ


Array メソッド


パブリック メソッドパブリック メソッド

( プロテクト メソッド参照)
  名前 説明
パブリック メソッド AsReadOnly 指定した配列ラップする読み取り専用ラッパー作成します
パブリック メソッド BinarySearch オーバーロードされますバイナリ サーチ アルゴリズム使用して並べ替え済み1 次元の Array 内で値を検索します
パブリック メソッド Clear Array 内の要素範囲を、要素の型に応じて、0 (ゼロ)、false、または null 参照 (Visual Basic では Nothing) に設定します
パブリック メソッド Clone Array簡易コピー作成します
パブリック メソッド ConstrainedCopy 指定したコピーインデックス開始位置として Array から要素範囲コピーし指定したコピーインデックス開始位置として他の Arrayそれらの要素を貼り付けます。コピー完全に成功しない限り変更一切適用されません。
パブリック メソッド ConvertAll ある型の配列別の型の配列変換します
パブリック メソッド Copy オーバーロードされます一方Array要素範囲他方Arrayコピーし必要に応じて型キャストボックス化実行します
パブリック メソッド CopyTo オーバーロードされます現在の 1 次元 Arrayすべての要素を指定した 1 次元 Arrayコピーします
パブリック メソッド CreateInstance オーバーロードされますArray クラス新しインスタンス初期化します。
パブリック メソッド Equals  オーバーロードされます2 つObject インスタンス等しかどうか判断します。 ( Object から継承されます。)
パブリック メソッド Exists 指定された配列に、指定された述語によって定義され条件一致する要素含まれているかどうか判断します
パブリック メソッド Find 指定された述語によって定義され条件一致する要素を検索しArray 全体の中で最もインデックス番号小さ要素を返します
パブリック メソッド FindAll 指定された述語によって定義され条件一致するすべての要素を取得します
パブリック メソッド FindIndex オーバーロードされます。  
パブリック メソッド FindLast 指定された述語によって定義され条件一致する要素をArray 全体対象検索し、最もインデックス番号大き要素を返します
パブリック メソッド FindLastIndex オーバーロードされます。  
パブリック メソッド ForEach 指定された配列内の各要素に対して指定された理を実行します
パブリック メソッド GetEnumerator ArrayIEnumerator返します
パブリック メソッド GetHashCode  特定の型ハッシュ関数として機能します。GetHashCode は、ハッシュ アルゴリズムや、ハッシュ テーブルのようなデータ構造での使用適してます。 ( Object から継承されます。)
パブリック メソッド GetLength Array指定した次元にある要素の数を表す 32 ビット整数取得します
パブリック メソッド GetLongLength Array指定した次元にある要素の数を表す 64 ビット整数取得します
パブリック メソッド GetLowerBound Array 内の指定した次元下限取得します
パブリック メソッド GetType  現在のインスタンスType取得します。 ( Object から継承されます。)
パブリック メソッド GetUpperBound Array 内の指定した次元の上限を取得します
パブリック メソッド GetValue オーバーロードされます現在の Array 内の指定した要素の値を取得します
パブリック メソッド IndexOf オーバーロードされます1 次元 Array 内またArray 内で値が最初に見つかった位置インデックス番号返します
パブリック メソッド Initialize 値型既定コンストラクタ呼び出して、この値型 Array各要素初期化します。
パブリック メソッド LastIndexOf オーバーロードされます1 次元 Array 内またArray範囲内で値が最後に見つかった位置インデックス番号返します
パブリック メソッド ReferenceEquals  指定した複数Object インスタンス同一かどうか判断します。 ( Object から継承されます。)
パブリック メソッド Resize 配列サイズを、新たに指定したサイズ変更します
パブリック メソッド Reverse オーバーロードされます1 次元 Array 内またArray範囲内要素順序反転させます
パブリック メソッド SetValue オーバーロードされます現在の Array 内の指定した要素を指定した値に設定します
パブリック メソッド Sort オーバーロードされます1 次元 Array オブジェクト内の要素を並べ替えます。
パブリック メソッド ToString  現在の Object を表す String返します。 ( Object から継承されます。)
パブリック メソッド TrueForAll 配列内のすべての要素が、指定された述語によって定義され条件一致するかどうか調べます
プロテクト メソッドプロテクト メソッド
明示的インターフェイスの実装明示的インターフェイス実装
  名前 説明
インターフェイスの明示的な実装 System.Collections.IList.Add IList.Add実装ます。常に NotSupportedExceptionスローます。
インターフェイスの明示的な実装 System.Collections.IList.Clear Array 内のすべての要素を要素の型に応じて、0 (ゼロ)、false、または null 参照 (Visual Basic では Nothing) に設定します
インターフェイスの明示的な実装 System.Collections.IList.Contains ある要素Array 内に存在するかどうか判断します
インターフェイスの明示的な実装 System.Collections.IList.IndexOf 指定したオブジェクト検索し現在の 1 次元インスタンス内でそのオブジェクト最初に見つかった位置インデックス番号返します
インターフェイスの明示的な実装 System.Collections.IList.Insert IList.Insert実装ます。常に NotSupportedExceptionスローます。
インターフェイスの明示的な実装 System.Collections.IList.Remove IList.Remove実装ます。常に NotSupportedExceptionスローます。
インターフェイスの明示的な実装 System.Collections.IList.RemoveAt IList.RemoveAt実装ます。常に NotSupportedExceptionスローます。
参照参照

関連項目

Array クラス
System 名前空間
Object
Type

その他の技術情報

カルチャ認識しない配列操作実行

Array メンバ

配列作成操作検索、および並べ替えを行うメソッド提供しますこれにより共通言語ランタイムすべての配列基本クラスとして機能します

Array データ型公開されるメンバを以下の表に示します


パブリック プロパティパブリック プロパティ
  名前 説明
パブリック プロパティ SyncRoot Array へのアクセス同期するために使用できるオブジェクト取得します
パブリック メソッドパブリック メソッド
( プロテクト メソッド参照)
  名前 説明
パブリック メソッド AsReadOnly 指定した配列ラップする読み取り専用ラッパー作成します
パブリック メソッド BinarySearch オーバーロードされますバイナリ サーチ アルゴリズム使用して並べ替え済み1 次元の Array 内で値を検索します
パブリック メソッド Clear Array 内の要素範囲を、要素の型に応じて、0 (ゼロ)、false、または null 参照 (Visual Basic では Nothing) に設定します
パブリック メソッド Clone Array簡易コピー作成します
パブリック メソッド ConstrainedCopy 指定したコピーインデックス開始位置として Array から要素範囲コピーし指定したコピーインデックス開始位置として他の Arrayそれらの要素を貼り付けます。コピー完全に成功しない限り変更一切適用されません。
パブリック メソッド ConvertAll ある型の配列別の型の配列変換します
パブリック メソッド Copy オーバーロードされます一方Array要素範囲他方Arrayコピーし必要に応じて型キャストボックス化実行します
パブリック メソッド CopyTo オーバーロードされます現在の 1 次元 Arrayすべての要素を指定した 1 次元 Arrayコピーします
パブリック メソッド CreateInstance オーバーロードされますArray クラス新しインスタンス初期化します。
パブリック メソッド Equals  オーバーロードされます2 つObject インスタンス等しかどうか判断します。 (Object から継承されます。)
パブリック メソッド Exists 指定された配列に、指定された述語によって定義され条件一致する要素含まれているかどうか判断します
パブリック メソッド Find 指定された述語によって定義され条件一致する要素を検索しArray 全体の中で最もインデックス番号小さ要素を返します
パブリック メソッド FindAll 指定された述語によって定義され条件一致するすべての要素を取得します
パブリック メソッド FindIndex オーバーロードされます。  
パブリック メソッド FindLast 指定された述語によって定義され条件一致する要素をArray 全体対象検索し、最もインデックス番号大き要素を返します
パブリック メソッド FindLastIndex オーバーロードされます。  
パブリック メソッド ForEach 指定された配列内の各要素に対して指定された理を実行します
パブリック メソッド GetEnumerator ArrayIEnumerator返します
パブリック メソッド GetHashCode  特定の型ハッシュ関数として機能します。GetHashCode は、ハッシュ アルゴリズムや、ハッシュ テーブルのようなデータ構造での使用適してます。 (Object から継承されます。)
パブリック メソッド GetLength Array指定した次元にある要素の数を表す 32 ビット整数取得します
パブリック メソッド GetLongLength Array指定した次元にある要素の数を表す 64 ビット整数取得します
パブリック メソッド GetLowerBound Array 内の指定した次元下限取得します
パブリック メソッド GetType  現在のインスタンスType取得します。 (Object から継承されます。)
パブリック メソッド GetUpperBound Array 内の指定した次元の上限を取得します
パブリック メソッド GetValue オーバーロードされます現在の Array 内の指定した要素の値を取得します
パブリック メソッド IndexOf オーバーロードされます1 次元 Array 内またArray 内で値が最初に見つかった位置インデックス番号返します
パブリック メソッド Initialize 値型既定コンストラクタ呼び出して、この値型 Array各要素初期化します。
パブリック メソッド LastIndexOf オーバーロードされます1 次元 Array 内またArray範囲内で値が最後に見つかった位置インデックス番号返します
パブリック メソッド ReferenceEquals  指定した複数Object インスタンス同一かどうか判断します。 (Object から継承されます。)
パブリック メソッド Resize 配列サイズを、新たに指定したサイズ変更します
パブリック メソッド Reverse オーバーロードされます1 次元 Array 内またArray範囲内要素順序反転させます
パブリック メソッド SetValue オーバーロードされます現在の Array 内の指定した要素を指定した値に設定します
パブリック メソッド Sort オーバーロードされます1 次元 Array オブジェクト内の要素を並べ替えます。
パブリック メソッド ToString  現在の Object を表す String返します。 (Object から継承されます。)
パブリック メソッド TrueForAll 配列内のすべての要素が、指定された述語によって定義され条件一致するかどうか調べます
プロテクト メソッドプロテクト メソッド
明示的インターフェイスの実装明示的インターフェイス実装
  名前 説明
インターフェイスの明示的な実装 System.Collections.IList.Add IList.Add実装ます。常に NotSupportedExceptionスローます。
インターフェイスの明示的な実装 System.Collections.IList.Clear Array 内のすべての要素を要素の型に応じて、0 (ゼロ)、false、または null 参照 (Visual Basic では Nothing) に設定します
インターフェイスの明示的な実装 System.Collections.IList.Contains ある要素Array 内に存在するかどうか判断します
インターフェイスの明示的な実装 System.Collections.IList.IndexOf 指定したオブジェクト検索し現在の 1 次元インスタンス内でそのオブジェクト最初に見つかった位置インデックス番号返します
インターフェイスの明示的な実装 System.Collections.IList.Insert IList.Insert実装ます。常に NotSupportedExceptionスローます。
インターフェイスの明示的な実装 System.Collections.IList.Remove IList.Remove実装ます。常に NotSupportedExceptionスローます。
インターフェイスの明示的な実装 System.Collections.IList.RemoveAt IList.RemoveAt実装ます。常に NotSupportedExceptionスローます。
インターフェイスの明示的な実装 System.Collections.IList.Item 指定したインデックスにある要素を取得または設定します
参照参照

関連項目

Array クラス
System 名前空間
Object
Type

その他の技術情報

カルチャ認識しない配列操作実行

配列

(array から転送)

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2021/12/13 01:36 UTC 版)

この記事では、コンピュータ・プログラムにおいて配列(はいれつ、: array)と呼ばれているデータ構造およびデータ型について説明する。計算科学方面ではベクトルという場合もある。また、リストも参照。一般に、添え字で個々の要素を区別する。




「配列」の続きの解説一覧

array

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2019/04/29 13:43 UTC 版)

Standard Template Library」の記事における「array」の解説

(*) 固定長配列

※この「array」の解説は、「Standard Template Library」の解説の一部です。
「array」を含む「Standard Template Library」の記事については、「Standard Template Library」の概要を参照ください。


Array

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2021/09/08 09:24 UTC 版)

アレー」の記事における「Array」の解説

配列 アレイ・ネットワークス - アメリカ合衆国の企業

※この「Array」の解説は、「アレー」の解説の一部です。
「Array」を含む「アレー」の記事については、「アレー」の概要を参照ください。

ウィキペディア小見出し辞書の「array」の項目はプログラムで機械的に意味や本文を生成しているため、不適切な項目が含まれていることもあります。ご了承くださいませ。 お問い合わせ



固有名詞の分類


英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

arrayのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



arrayのページの著作権
Weblio 辞書情報提供元は参加元一覧にて確認できます。

  
デジタル大辞泉デジタル大辞泉
(C)Shogakukan Inc.
株式会社 小学館
PHPプロ!PHPプロ!
©COPYRIGHT ASIAL CORPORATION ALL RIGHTS RESERVED.
IT用語辞典バイナリIT用語辞典バイナリ
Copyright © 2005-2022 Weblio 辞書 IT用語辞典バイナリさくいん。 この記事は、IT用語辞典バイナリ配列の記事を利用しております。
PHP Documentation GroupPHP Documentation Group
Copyright © 1997 - 2022 by the PHP Documentation Group.
日本マイクロソフト株式会社日本マイクロソフト株式会社
© 2022 Microsoft.All rights reserved.
ウィキペディアウィキペディア
All text is available under the terms of the GNU Free Documentation License.
この記事は、ウィキペディアの配列 (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。 Weblio辞書に掲載されているウィキペディアの記事も、全てGNU Free Documentation Licenseの元に提供されております。
ウィキペディアウィキペディア
Text is available under GNU Free Documentation License (GFDL).
Weblio辞書に掲載されている「ウィキペディア小見出し辞書」の記事は、WikipediaのStandard Template Library (改訂履歴)、アレー (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。

©2022 GRAS Group, Inc.RSS