PHPの配列について学んできましたので、自分で噛み砕いて理解するために投稿させていただきます。
配列、多次元配列、連想配列?
配列は、数学B的に考えると
A = (1,4,5)
こんな感じで、1列1行は1。みたいな。あのノリがそのままプログラムの配列でも適応できそうです。
多次元配列は
A = (B,C,D)
B = (E,F,G)
F = 3;
まぁ仮にですけど。これを紐解くとAのBのEは3。のような感じ。配列の中に配列を入れているのが多次元配列、だと勝手に思っています。
次に連想配列。これが
生徒 = (山田,田中,高橋)
山田 = (ID,出身,性別)
出身 = (東京)
生徒の山田の出身は東京!
”何”番目が”何”番目が”あれ” ではなく
”生徒”の”田中”の”性別”が”男” が連想配列です。
纏めると...
上記の感じのデータを一纏めにしたのが配列です。
そのような配列に配列をどんどん入れていくのを多次元配列。
そして、「自分で適当に識別名」を用いるのが連想配列。
下記は研修で作成したコードですが、サンプルに載せておきます。
<?php
//下記にプログラムを記載してください。
$list = array(
'山田' => array(
'ID' => '001',
'出身' => '函館',
'メールアドレス' => 'yamada@example.com',
'性別' => '女性'
),
'田中' => array(
'ID' => '002',
'メールアドレス' => 'tanaka@example.com',
'性別' => '男性'
),
'高橋' => array(
'ID' => '003',
'出身' => '札幌',
'メールアドレス' => 'takahasi@example.com',
'性別' => '女性',
),
'井上' => array(
'ID' => '004',
'出身' => '東京',
'メールアドレス' => 'inoue@example.com',
'性別' => '男性',
),
'小林' => array(
'ID' => '005',
'出身' => '大阪',
'メールアドレス' => 'kobayasi@example.com',
'性別' => '男性',
),
'森' => array(
'ID' => '006',
'出身' => '沖縄',
'メールアドレス' => 'mori@example.com',
'性別' => '女性',
)
);
$i = 0;
//配列の中の名前を出す。
foreach($list as $key => $member){
echo $key;
if($i < count($list)-1){
echo ',';
}
$i++;
}
//改行。
echo PHP_EOL;
//配列の中の名前を出す。
echo join(",",array_keys($list)).PHP_EOL;
//出身地札幌の人間を表示する
foreach($list as $key => $member){
if(!isset($member['出身']) || $member['出身'] != '札幌'){
echo $key.PHP_EOL;
}
}
?>
こんな感じで多次元配列を作れるようです。
ビルドしていると、きちんと出ると思います。
この部分を理解しておかないとMySQLと連携して
色々な要素を持ったデータを扱うときにめちゃくちゃ苦労します。(しました。)