配列の扱い方がよくわかりません。
やりたいこととしては、下記のようなテーブルに対してデータをSQLで取得し、年月ごとに処理を行いたいと思っています。
おこないたい処理は、年月ごとに性別カラムに格納されている男性、女性の数をカウントするような処理です。
(例のテーブルだと2021年1月:男性2人女性0人、2021年2月:男性0人女性1人のようなデータが取れればよいです。)
下記のようなコードで$resultに月ごとのデータが格納できたのはよいのですが、行いたい処理に対してグループ化した配列をどのように操作してよいかがわかりません。
実際にやりたいことはもう少し複雑であるため、SQLのみで処理をすることはしておりません。
phpバージョンは5.6です。
誕生年月 | ID | 名前 | 性別 |
---|---|---|---|
202101 | 1 | A | 男 |
202101 | 2 | B | 男 |
202102 | 3 | C | 女 |
php
1//$dbTableには取得したDBデータが格納されている 2$groupList = $this->groupBy($dbTable); 3//$groupListをどのように操作すればよい? 4 5 //DBデータをグループ化 6 private function groupBy($datalist){ 7 8 $result = []; 9 $key = "誕生年月"; 10 foreach ($datalist as $row) { 11 if (array_key_exists($key, $row)) { 12 $result[$row[$key]][] = $row; 13 } else { 14 $result[""][] = $val; 15 } 16 } 17 return $result; 18 }
回答2件
あなたの回答
tips
プレビュー