id | name | sex |
---|---|---|
1 | Bob | male |
2 | Mike | male |
3 | Kate | female |
上記のような、例えば3つのカラムからなるテーブルについて
php
1$result = $stmt->fetchall(PDO::FETCH_ASSOC);
のように取得する場合、下記のような配列で返ってくると思います。
php
1var_dump($result); 2/* 3Array 4( 5 [0] => Array 6 ( 7 [id] => 1 8 [name] => Bob 9 [sex] => male 10 ) 11 [1] => Array 12 ( 13 [id] => 2 14 [name] => mike 15 [sex] => male 16以下省略*/
そこで、以下のように共通のものをキーとする多次元配列で返すfetchの方法があるかを探しているのですが
どなたかもしあれば教えていただけますでしょうか?
php
1var_dump($result); 2 3Array 4( 5 [male] => Array 6 ( 7 [0] => Array( 8 [id] => 1 9 [name] => Bob 10 [sex] => male 11 ) 12 [1] => Array( 13 [id] => 1 14 [name] => mike 15 [sex] => male 16 ) 17 ) 18 [female] => Array 19 ( 20 [0] => Array( 21 [id] => 1 22 [name] => kate 23 [sex] => female 24 ) 25 ) 26)
もちろん、PHP側で配列を操作して組み替えることはできるのですが、fetchの段階できれいにまとめることが
できればそれが良いのでお尋ねした次第です。(WHERE male=?で複数回queryを発行することは種類が多いので想定していません。)
よろしくお願い申し上げます。
回答2件
あなたの回答
tips
プレビュー