PDO でキーと値のペアを使用して結果セットを連想配列に変換する
キーと値のペアを返すクエリを操作する場合、例:
<code class="sql">SELECT `key`, `value` FROM `settings`;</code>
キーと値が返されたデータに対応する連想配列が必要な場合があります。通常、これは次のようなプロセスを通じて実現されます。
<code class="php">$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']; }</code>
この方法は一般的ですが、複数の反復が必要であり、パフォーマンス上の問題が発生する可能性があります。ただし、代替ソリューションが利用可能です。
<code class="php">$q = $db->query("SELECT `name`, `value` FROM `settings`;"); $r = $q->fetchAll(PDO::FETCH_KEY_PAIR);</code>
PDO::FETCH_KEY_PAIR 定数を使用すると、クエリから直接データを連想配列として取得できるため、プロセスが簡素化され、より大きな結果セットのパフォーマンスが向上する可能性があります。
以上がPDO を使用してデータベース結果を連想配列に効率的に変換するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。