ホームページ >データベース >mysql チュートリアル >PDO クエリからキーと値のペアを連想配列として効率的にフェッチするにはどうすればよいですか?
PDO FetchAll キーと値のペアを連想配列にグループ化する
キーと値のペアを返すクエリを操作する場合、多くの場合、結果は連想配列として返されます。次のクエリについて考えてみましょう。
SELECT `key`, `value` FROM `settings`;
目的は、キーがキー列に対応し、値が値列に対応する連想配列を取得することです。
従来のアプローチには、フェッチが含まれます。 PDO::FETCH_ASSOC を使用して結果を取得し、ループを使用して手動で連想配列を作成します:
$settings_flat = $db ->query("SELECT `name`, `value` FROM `settings`;") ->fetchAll(PDO::FETCH_ASSOC); $settings = array(); foreach ($settings_flat as $setting) { $settings[$setting['name']] = $setting['value']; }
ただし、 PDO::FETCH_KEY_PAIR:
$q = $db->query("SELECT `name`, `value` FROM `settings`;"); $r = $q->fetchAll(PDO::FETCH_KEY_PAIR);
を使用して同じ結果を達成するより効率的な方法。このメソッドは、キーがキー列に対応し、値が値列に対応する連想配列を直接返します。
このアプローチはより簡潔であるだけでなく、不必要なループや配列の作成も回避します。これは、キーと値のペアの結果を連想配列に変換するための便利で効率的なソリューションです。
以上がPDO クエリからキーと値のペアを連想配列として効率的にフェッチするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。