初心者向けにDB接続の記事を書いたのですが、初心者の方にわからない
と言われました笑
PHP: らくらくPDOクラス
ヒアリングをしてみると間に配列を挟んでるところがごちゃつくようです。
DB -> PDOでDBからデータGet -> なんかわからんけどforeach??
正解は「連想配列に一旦、格納する!!」です。
DB -> PDOでDBからデータGet -> 連想配列に格納
-> foreachで展開
###配列変数 -> 1つの変数で複数の値を格納できるスグレモノ。
変数と配列変数の比較
普通の変数 //入る場所は一つ
$b = 1;
echo $b; //-> 1
配列変数(連想配列) //入る場所が複数, 添字キーで格納 key: value
//連想配列を1つつくってみます(生成): key => value
$bar = ['id' => 1, 'name' => 'CakePHP', 'birthday' => '2005-04-01'];
var_dump($bar); //一度確認しましょう!
//呼び出し方
echo $bar['id']; //-> 1
echo $bar['birthday']; //-> 2000-02-03
//foreachで呼び出す
foreach ($bar as $val) {
echo $val . ',';
} //-> 1,CakePHP,2000-02-03
###多次元配列(配列の中に配列が入ります。)
多次元配列(連想配列)
データベースと連動してよく使われます。
-> DBテーブル名 -> key
-> DBデータ -> value
//多次元配列を生成してみます: key => value
$bars = [['id' => 1, 'name' => 'CakePHP', 'birthday' => '2005-04-01'], //0
['id' => 2, 'name' => 'Laravel', 'birthday' => '2011-06-01'], //1
['id' => 3, 'name' => 'Ruby on Rails', 'birthday' => '2004-07-01'], //2
];
var_dump($bars); //必ず確認します!
呼び出し方
echo $bars[0]['birthday']; //-> 2005-04-01
echo $bars[1]['name']; //-> Laravel
echo $bars[2]['id']; //-> 3
foreachで呼び出す:
//1ループ目: $bar <- ['id' => 1, 'name' => 'CakePHP', 'birthday' => '2005-04-01']
//2ループ目: $bar <- ['id' => 2, 'name' => 'Laravel', 'birthday' => '2011-06-01']
//3ループ目: $bar <- ['id' => 3, 'name' => 'Ruby on Rails', 'birthday' => '2004-07-01']
foreach ($bars as $bar) {
echo $bar['id'] . ':';
echo $bar['name'] . ',';
} //-> 1:CakePHP,2:Laravel,3:Ruby on Rails,
多重ループで全て呼び出す。
//$bars -> [id, name, birthday] -> $bar 以下繰り返し
foreach ($bars as $bar) {
foreach ($bar as $val) {
echo $val . ',';
}
echo '<br>';
} //-> 1,CakePHP,2005-04-01,
// 2,Laravel,2011-06-01,
// 3,Ruby on Rails,2004-07-01,
####foreachでキーと値の取得
$values = [
1 => 'CakePHP',
2 => 'Laravel',
3 => 'Ruby on Rails',
];
foreach ($values as $key => $value) {
echo $key . ': ' . $value . '<br>';
}
// 1: CakePHP
// 2: Laravel
// 3: Ruby on Rails
###PDOとの連携
例の中で連想配列・多次元配列を生成している部分をPDOがやってくれます。
その後はforeach
でデータをブン回して処理しましょ!
LGTMお願いします!
モチベーションがあがります!