PDO を使用した結果のインデックスとして列の値を使用する
SQL テーブルと PDO を使用する場合、結果を取得する必要がある場合があります。増加する数値ではなく、特定の列値によってインデックスが付けられた配列。これにより、データの取得がより効率的になり、特定の操作が簡素化されます。
これを実現するには、PDO の PDO::FETCH_UNIQUE フェッチ モードを利用できます。このモードを指定すると、結果の配列のインデックスは、SELECT 句にリストされている最初のフィールド (または、'*' を使用する場合はテーブル定義の最初のフィールド) に基づきます。
たとえば、 ID、名前、URL 列を含む「brands」というテーブル:
| id | name | url | |-----|-----------|-----------| | 1 | Solidfloor | solidfloor | | 2 | Quickstep | quickstep | | 4 | Cleanfloor | cleanfloor |
データをフェッチし、ID 列を配列として使用するにはIndex:
$pdo = new PDO('...'); // PDO connection object $data = $pdo->query('SELECT * FROM brands')->fetchAll(PDO::FETCH_UNIQUE);
結果の $data 配列には、次のように id 列によってインデックスが付けられます:
[ 1 => [ 'name' => 'Solidfloor', 'url' => 'solidfloor' ], 2 => [ 'name' => 'Quickstep', 'url' => 'quickstep' ], 4 => [ 'name' => 'Cleanfloor', 'url' => 'cleanfloor' ] ]
これにより、id 列によってデータに直接アクセスできるようになります:
$brand = $data[1]; // Get brand with ID 1
以上がPDO 結果のインデックスとして列値を使用するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。