我有一个名为“brands”的 SQL 表,其中包含 id、name、url 列。
在该表中我有这个数据集:
1, Solidfloor, solidfloor;
2, Quickstep, quickstep;
4, Cleanfloor, cleanfloor;
5, Blue Dolphin, blue-dolphin;
6, Krono, krono;
8, Meister, meister;
我现在正在获取它们,并且得到一个很好的数组作为回报,但是,我需要数组的索引不是递增的数字,而是该特定行的 id。我当然可以循环遍历结果集,但是有没有更干净的方法来做到这一点?
虽然PDO::FETCH_UNIQUE
PHP手册中的描述很不清楚,但实际上是这样的您实际需要的确切参数 https://phpdelusions.net/pdo#unique.
$data = $pdo->query('SELECT * FROM table')->fetchAll(PDO::FETCH_UNIQUE);
为您提供一个由 SELECT 子句中首先列出的字段索引的数组(当使用 * 时,则为表定义中的第一个字段,在您的情况下应该是 id )。
请注意,默认情况下仅使用PDO::FETCH_UNIQUE
将为您提供具有双倍值的结果行。您可以向此调用添加首选行模式,或者更好的是,在构造函数中或通过以下方式为所有 PDO 调用设置一次:setAttribute()
。下面的输出显示为PDO::FETCH_ASSOC
设置为默认获取模式。
1 => array (
'name' => 'Solidfloor',
'url' => 'solidfloor',
),
2 => array (
'name' => 'Quickstep',
'url' => 'quickstep',
),
4 => array (
'name' => 'Cleanfloor',
'url' => 'cleanfloor',
),
)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)