PDOStatement
データベースのクエリに使用しています。$row[0]
返された行を取得するたびに、 をキーとして配列にフェッチし、行の後続の要素を値として取得したいと考えています。
foreach
もちろん、以下のように、ループと条件の組み合わせを記述if
してジョブを実行することもできます。
private static function GetMySQLResult($dbname, $sqlString) {
$dbh = self::ConstructPDOObject($dbname);
$dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$result=array();
foreach ($dbh->query($sqlString) as $row) {
// the simplest case for 2 columns,
// should add more to handle more columns
$result[$row[0]][]=$row[1];
}
return $result;
}
しかし、私は既存の方法を探しています。そのような方法はすでに存在しますか?
なぜ質問を再開したのですか。
ここで問われているのは、明らかに PDO::FETCH_GROUP|PDO::FETCH_ASSOC の組み合わせです。PDO::FETCH_KEY_PAIR は、2 列の結果でのみ機能します。ただし、ここでの例は、すべての状況ではなく、問題のコードを単純化するためだけの 2 列の結果です。