「テーブルA」「テーブルB」が存在し、テーブルAにはテーブルBを検索するためのIDが含まれています。
テーブルAから取得したデータを【配列A】に格納します。
lang
1 // テーブルAの情報を配列に格納 2 public function getTableA() { 3 $dbh = connectDb(); 4 $dbh->setAttribute(PDO::ATTR_EMULATE_PREPARES, false); 5 $tablea = []; 6 $sql = "select * from tablea"; 7 $stmt = $dbh->query($sql); 8 9 foreach ($stmt as $row) { 10 $tablea[] = $row; 11 } 12 return $tablea; 13 }
配列AからテーブルBを検索するためのIDを抜き出し、取得した値を【配列B】として格納します。
lang
1 // テーブルAの情報を配列に格納 2 public function getTableB() { 3 $dbh = connectDb(); 4 $dbh->setAttribute(PDO::ATTR_EMULATE_PREPARES, false); 5 $tablea = []; 6 $tableb = []; 7 $sql = "select * from tablea"; 8 $stmt = $dbh->query($sql); 9 10 foreach ($stmt as $row) { 11 $tablea[] = $row; 12 } 13 14 // 取得したIDでテーブルBを検索し、配列を返す 15 $tableb_id = array_column($tablea, 'tableb_id'); 16 foreach ($tableb_id as $row) { 17 $sql = "select * from tableb where tableb_id = $row"; 18 $stmt = $dbh->query($sql); 19 foreach ($stmt as $row) { 20 $tableb[] = $row; 21 } 22 } 23 return $tableb; 24 }
複数の配列を返したい場合、どのように記述するのが、可読性が高くて綺麗な書き方なのでしょうか。
独学で勉強しているため、ご回答いただけると大変助かります。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2015/11/17 06:58
2015/11/17 08:04
2015/11/17 08:22
2015/11/17 09:06