我使用與PDO以下PDO聲明:: FETCH_UNIQUE標誌,以使結果陣列由唯一行ID索引。是否可以使用PHP PDO :: FETCH_UNIQUE在結果數組中保持唯一索引?
<?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);
}
?>
$ resultArray:
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()
的選項。
您是否使用了_foreach_循環,並尋找一種方式來利用除了每個_value_每個_key_? –
@SamOnela是的,我目前正在重寫一個遺留函數,在該遺留函數中,通過這個代碼庫以多種不同方式使用結果數組,並保持兼容性,我需要保留鍵和值。 – bbeckford