配列をつくって回す

配列は運転の曲がり、回してループは駐車。これほど配列と、配列を回すループが大事と思う。

 

先ず配列について

 

・サンプル1
>|php|
<?php
$group1 = array(
array('name' => '一郎', 'age' => 18, 'gender' => '男性'),
array('name' => '和子', 'age' => 26, 'gender' => '女性'),
array('name' => '二郎', 'age' => 36, 'gender' => '男性'),
);

$group2 = array(
array('name' => '一助', 'age' => 18, 'gender' => '男性'),
array('name' => '和香子', 'age' => 26, 'gender' => '女性'),
array('name' => '二助', 'age' => 36, 'gender' => '男性'),
);
$class_list = array($group1, $group2);

 

$group1、$group2は2次元配列、

$group1、$group2を配列にした$class_listは3次元配列

 

$class_lsitを表示させると以下になる

ちゃんと3次元配列になってる

 array(2) {
[0]=>
array(3) {
[0]=>
array(3) {
["name"]=>
string(6) "一郎"
["age"]=>
int(18)
["gender"]=>
string(6) "男性"
}
[1]=>
array(3) {
["name"]=>
string(6) "和子"
["age"]=>
int(26)
["gender"]=>
string(6) "女性"
}
[2]=>
array(3) {
["name"]=>
string(6) "二郎"
["age"]=>
int(36)
["gender"]=>
string(6) "男性"
}
}
[1]=>
array(3) {
[0]=>
array(3) {
["name"]=>
string(6) "一助"
["age"]=>
int(18)
["gender"]=>
string(6) "男性"
}
[1]=>
array(3) {
["name"]=>
string(9) "和香子"
["age"]=>
int(26)
["gender"]=>
string(6) "女性"
}
[2]=>
array(3) {
["name"]=>
string(6) "二助"
["age"]=>
int(36)
["gender"]=>
string(6) "男性"
}
}
}

 

サンプル1をブラケットで書き直すと下記サンプル2になる
・サンプル2
>|php|
<?php
$group1[0]['name'] = '一郎';
$group1[0]['age'] = '18';
$group1[0]['gender'] = '男性';


$group1[1]['name'] = '和子';
$group1[1]['age'] = '26';
$group1[1]['gender'] = '女性';

$group1[2]['name'] = '二郎';
$group1[2]['age'] = '36';
$group1[2]['gender'] = '男性';


$group2[0]['name'] = '一助';
$group2[0]['age'] = '18';
$group2[0]['gender'] = '男性';


$group2[1]['name'] = '和香子';
$group2[1]['age'] = '26';
$group2[1]['gender'] = '女性';

$group2[2]['name'] = '二郎';
$group2[2]['age'] = '36';
$group2[2]['gender'] = '男性';

$class_list[]=$group1;
$class_list[]=$group2;

 

配列をループして、ループの中で新しい配列を組む時ブラケットを使うと便利と思うので、ブラケット書き方について掘りましょう

 

サンプル2のここ

$class_list[]=$group1;
$class_list[]=$group2;

キーを省略する書き方してるが

省略しないとこうなる

$class_list[0]=$group1;
$class_list[1]=$group2;

よって下記で「一助」が表示される

echo $class_list[1][0]['name'];

今回はここまでにします($・・)/~~~
次は配列を回します_ _!