配列 / 連想配列 / 多次元配列 生成方法比較

配列

配列

 状態:-  閲覧数:4,971  投稿日:2010-04-26  更新日:2014-09-29  
配列 / 連想配列 / 多次元配列 生成方法比較
・配列
次元 パターンA パターンB パターンC
1
$a = array("apple", 46, "grape");
$a[0] = "apple";
$a[1] = 46;
$a[2] = "grape";
$a[] = "apple";
$a[] = 46;
$a[] = "grape";
2
$a = array(
0 => array(
0 => 12,
1 => 23,
2 => 25
),
1 => array(
0 => 1,
1 => 2,
2 => "海"
)
);
$a[0][0] = 12;
$a[0][1] = 23;
$a[0][2] = 25;

$a[1][0] = 1;
$a[1][1] = 2;
$a[1][2] = "海";
$a[0][] = 12;
$a[0][] = 23;
$a[0][] = 25;

$a[1][] = 1;
$a[1][] = 2;
$a[1][] = "海";
・連想配列
次元 パターンA パターンB
1
$a = array("日本" => 46);
$a["日本"] = 46;
2
$a = array(
 "日本" => array( "宮城" => 12, "東京" => 23, "名古屋" => 25),
 "アメリカ" => array( "ワシントン" => 1, "ハワイ" => 2, "グアム" => "海")
);
$a["日本"]["宮城"] = 12;
$a["日本"]["東京"] = 23;
$a["日本"]["名古屋"]  =25;

$a["アメリカ"]["ワシントン"]  = 1;
$a["アメリカ"]["ハワイ"] = 2;
$a["アメリカ"]["グアム"]  = "海";


「添え字(インデックス)」と「要素(値)」で、構成されている

 閲覧数:675 投稿日:2010-04-26 更新日:2014-10-06 

1次元配列


パターンA
$a = array("apple", 46, "grape");
print_r($a);

Array
(
   [0] => apple
   [1] => 46
   [2] => grape
)


パターンB
$a = array();//配列の初期化
$a[0] = "apple";
$a[1] = 46;
$a[2] = "grape";
print_r($a);

Array
(
   [0] => apple
   [1] => 46
   [2] => grape
)


パターンC
$a = array();//配列の初期化
$a[] = "apple";
$a[] = 46;
$a[] = "grape";
print_r($a);

Array
(
   [0] => apple
   [1] => 46
   [2] => grape
)



2次元配列


パターンA
$a = array(
 0 => array(
   0 => 12,
   1 => 23,
   2 => 25
 ,
 1 => array(
   0 => 1,
   1 => 2,
   2 => "海"
 
);
print_r($a);

Array
(
   [0] => Array
       (
           [0] => 12
           [1] => 23
           [2] => 25
       

   [1] => Array
       (
           [0] => 1
           [1] => 2
           [2] => 海
       

)


パターンB
$a = array();//配列の初期化
$a[0][0] = 12;
$a[0][1] = 23;
$a[0][2] = 25;

$a[1][0] = 1;
$a[1][1] = 2;
$a[1][2] = "海";

print_r($a);

Array
(
   [0] => Array
       (
           [0] => 12
           [1] => 23
           [2] => 25
       

   [1] => Array
       (
           [0] => 1
           [1] => 2
           [2] => 海
       

)


パターンC
$a = array();//配列の初期化
$a[0][] = 12;
$a[0][] = 23;
$a[0][] = 25;
 
$a[1][] = 1;
$a[1][] = 2;
$a[1][] = "海";

print_r($a);

Array
(
   [0] => Array
       (
           [0] => 12
           [1] => 23
           [2] => 25
       

   [1] => Array
       (
           [0] => 1
           [1] => 2
           [2] => 海
       

)



1次元連想配列


パターンA
$a = array("日本" => 46);
print_r($a);

Array
(
   [日本] => 46
)


パターンB
$a = array();//配列の初期化
$a["日本"] = 46;
print_r($a);

Array
(
   [日本] => 46
)



2次元連想配列


パターンA
$a = array(
 "日本" => array( "宮城" => 12, "東京" => 23, "名古屋" => 25),
 "アメリカ" => array( "ワシントン" => 1, "ハワイ" => 2, "グアム" => "海")
);
print_r($a);

Array
(
   [日本] => Array
       (
           [宮城] => 12
           [東京] => 23
           [名古屋] => 25
       

   [アメリカ] => Array
       (
           [ワシントン] => 1
           [ハワイ] => 2
           [グアム] => 海
       

)


パターンB
$a = array();//配列の初期化

$a["日本"]["宮城"] = 12;
$a["日本"]["東京"] = 23;
$a["日本"]["名古屋"] =25;

$a["アメリカ"]["ワシントン"] = 1;
$a["アメリカ"]["ハワイ"] = 2;
$a["アメリカ"]["グアム"] = "海";

print_r($a);

Array
(
[日本] => Array
(
[宮城] => 12
[東京] => 23
[名古屋] => 25
)

[アメリカ] => Array
(
[ワシントン] => 1
[ハワイ] => 2
[グアム] => 海
)

)




「添え字(インデックス)」と「要素(値)」で、構成されている

添え字(インデックス)は省略可能。省略されると自動でセットされる(既存の添え字の最大値+1)。
また、添え字には文字列も指定可能(連想配列)。


   $signal = array("red", 3 => "blue", "yellow");//2つ目の要素にのみ添え字(「3」)を設定
   
   foreach($signal as $key => $val){//添え字の一部を省略した場合、省略した要素の添え字は、その前の要素の添え字に「+1」した値になる。つまり、3番目の添え字は「4」となる。要素数は「3」。添え字の数字は要素の背番号に過ぎない
       echo $key." : ".$val."
";
   }
   
   echo count($signal);

▼結果

  /demo/array.html





   $signal = array(-6 => "red", "blue", "yellow");//添え字に負の数を指定すると、次以降の添え字は「0」から始まる整数となる
   
   foreach($signal as $key => $val){
       echo $key." : ".$val."
";
   }

▼結果

  /demo/array2.html


多次元配列

コメント投稿(ログインが必要)



週間人気ページランキング / 6-7 → 6-13
順位 ページタイトル抜粋 アクセス数
1 PHPで定数を定義する方法は2種類ある / 配列定数の定義 9
2 コード例 … 「例外処理」はネストすることができる 5
2 ブラウザを閉じたらセッションデータはどうなるの? | セッション 5
3 Parse error: syntax error, unexpected 'public' (T_PUBLIC) | Parse error(エラーメッセージ) 4
4 ガベージコレクション | 機能 3
4 Warning: Unexpected character in input: '\' (ASCII=92) state=1 in ○○.php on line △△ | Warning(エラーメッセージ) 3
4 curl で Cookie を使用する 3
4 PHPにおけるメソッドのオーバーライドについて /「引数の数や型は、親クラスのメソッドと完全に一致していなければなりません。」とは具体的にどういう意味ですか? 3
4 Catchable fatal error: Object of class DateTime could not be converted to string | Fatal error(エラーメッセージ) 3
4 Fatal error: Uncaught PDOException: SQLSTATE[HY000] [2002] Connection refused | Fatal error(エラーメッセージ) 3
4 Warning: include() [function.include]: Failed opening '**.php' for inclusion (in | Warning(エラーメッセージ) 3
4 ( ! ) Deprecated: implode(): Passing glue string after array is deprecated. Swap the parameters in ★★★ headless-chromium-php/vendor/wrench/wrench/lib/Wrench/Protocol/Protocol.php | エラーメッセージ 3
5 Fatal error: Wrong parameters for Exception([string $exception [, long $code ]]) | Fatal error(エラーメッセージ) 2
5 セッション管理が必要な理由は、HTTPプロトコルには状態を保持する機能がないため | セッション 2
5 Fatal error: require_once(): Failed opening required 'PEAR.php' | Fatal error(エラーメッセージ) 2
5 Fatal error: Uncaught RuntimeException: SplFileObject::__construct(): failed to open stream: Permission denied in | Fatal error(エラーメッセージ) 2
5 ( ! ) Fatal error: Uncaught PDOException: SQLSTATE[23000]: Integrity constraint violation: 1048 Column 'カラム名' cannot be null | Fatal error(エラーメッセージ) 2
5 session_start() | セッション 2
5 @ | 演算子 2
5 Parse error: syntax error, unexpected T_REQUIRE_ONCE, expecting T_FUNCTION | Parse error(エラーメッセージ) 2
2024/6/14 1:01 更新