ホームページ >データベース >mysql チュートリアル >PDO クエリからキーと値のペアを連想配列として効率的にフェッチするにはどうすればよいですか?

PDO クエリからキーと値のペアを連想配列として効率的にフェッチするにはどうすればよいですか?

DDD
DDDオリジナル
2024-11-24 18:06:19652ブラウズ

How Can I Efficiently Fetch Key-Value Pairs from a PDO Query as an Associative Array?

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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。