gpt4 book ai didi

php - 是否可以使用 PHP PDO::FETCH_UNIQUE 在结果数组中保留唯一索引?

转载 作者:行者123 更新时间:2023-11-29 02:14:00 26 4
gpt4 key购买 nike

我将以下 PDO 语句与 PDO::FETCH_UNIQUE 标志一起使用,使结果数组由唯一的行 ID 索引。

<?php
$statement = $conn->prepare("
SELECT
unique_id, field_1, field_2, field_3
FROM
table
WHERE
field_1 = 'foo'
AND field_2 = ?
ORDER BY
field_3
");

if($statement->execute(array($field_2_value)))
{
$resultArray = $statement->fetchAll(PDO::FETCH_ASSOC|PDO::FETCH_UNIQUE);
}
?>

$结果数组:

Array
(
[123] => Array
(
[field_1] => foo
[field_2] => someVal
[field_3] => bar
)
[234] => Array
(
[field_1] => foo
[field_2] => someVal
[field_3] => car
)
[345] => Array
(
[field_1] => foo
[field_2] => someVal
[field_3] => dog
)
)

有没有办法既保持数组索引不变,又在行数据中保留唯一的行 ID,如下所示:

 Array
(
[123] => Array
(
[unique_id] => 123
[field_1] => foo
[field_2] => someVal
[field_3] => bar
)
[234] => Array
(
[unique_id] => 234
[field_1] => foo
[field_2] => someVal
[field_3] => car
)
[345] => Array
(
[unique_id] => 345
[field_1] => foo
[field_2] => someVal
[field_3] => dog
)
)

我知道我可以用辅助循环来做到这一点,但如果这是 fetchAll() 中的一个选项,它会感觉更干净。

最佳答案

是的,这完全有可能,因为您始终可以向字段列表中添加一个额外的字段。

$statement = $conn->prepare("
SELECT
unique_id uid, unique_id, field_1, field_2, field_3
FROM
table
WHERE
field_1 = 'foo'
AND field_2 = ?
ORDER BY
field_3
");

并在值中包含您的 unique_id。

但是,我认为这不是很有必要,因为您总是可以从另一个答案中提到的 foreach 获取索引。

关于php - 是否可以使用 PHP PDO::FETCH_UNIQUE 在结果数组中保留唯一索引?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43817639/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com