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

配列

配列

 状態:-  閲覧数:5,223  投稿日: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["アメリカ"]["グアム"]  = "海";


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

 閲覧数:799 投稿日: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


多次元配列

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



週間人気ページランキング / 4-13 → 4-19
順位 ページタイトル抜粋 アクセス数
1 Warning: Division by zero | Warning(エラーメッセージ) 26
2 PHPで定数を定義する方法は2種類ある / 配列定数の定義 5
3 Warning: PDO::query(): LOAD DATA LOCAL INFILE forbidden | Warning(エラーメッセージ) 4
3 コード例 … 「例外処理」はネストすることができる 4
3 Parse error: syntax error, unexpected 'public' (T_PUBLIC) | Parse error(エラーメッセージ) 4
4 Fatal error: require_once(): Failed opening required 'PEAR.php' | Fatal error(エラーメッセージ) 3
4 Warning: strlen() expects parameter 1 to be string, array given in ○○.php on line △△ | Warning(エラーメッセージ) 3
4 ( ! ) Fatal error: Uncaught PDOException: SQLSTATE[23000]: Integrity constraint violation: 1048 Column 'カラム名' cannot be null | Fatal error(エラーメッセージ) 3
5 PDO | データベース関連 2
5 HTTP_VIA | 環境変数 2
5 ブラウザを閉じたらセッションデータはどうなるの? | セッション 2
5 PHP用語 2
5 curl で Cookie を使用する 2
5 ブラウザを閉じたらセッションデータはどうなるの? | セッション 2
5 syntax error | エラーメッセージ 2
5 parse_url( ) | 関数 2
5 popen | ファイルシステム (関数) 2
6 Warning: Unexpected character in input: '\' (ASCII=92) state=1 in ○○.php on line △△ | Warning(エラーメッセージ) 1
6 Parse error: syntax error, unexpected $end in ○○.php on line △△ | Parse error(エラーメッセージ) 1
6 Fatal error: Uncaught exception 'ImagickException' with message 'WriteBlob Failed | エラーメッセージ 1
2025/4/20 1:01 更新