Php 关联多维数组

Php 关联多维数组,php,arrays,pdo,Php,Arrays,Pdo,我确实有一个从MySQL数据库中获取两个用户的查询。我在用PDO 这是返回的数组,使用fetchAll(PDO::FETCH\u ASSOC) 由于行数组是数字数组,要从中获取数据,我必须执行$row[0][field],$row[1][field] 但我希望它使用user\u id进行关联,因此我可以执行$row[user\u id][field] 有可能吗?我怎么能做到呢?对不起,没有内置的。您必须自己使用和填充阵列: $result = array(); while($row = $stm

我确实有一个从MySQL数据库中获取两个用户的查询。我在用PDO

这是返回的数组,使用
fetchAll(PDO::FETCH\u ASSOC)

由于行数组是数字数组,要从中获取数据,我必须执行
$row[0][field]
$row[1][field]

但我希望它使用
user\u id
进行关联,因此我可以执行
$row[user\u id][field]


有可能吗?我怎么能做到呢?

对不起,没有内置的。您必须自己使用和填充阵列:

$result = array();
while($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
    // note that $row['user_id'] will currently a string
    // if you need integers as indexes then use intval($row['user_id']);
    $result[$row['user_id']] = $row;
}

// dump all records 
var_dump($result);

// dump username of user with uid = 4
var_dump($result['4']['username']);

它已经是一个关联数组,包含多个不同的记录

使用
foreach
分别获取每条记录:

foreach($rows as $id => $row)
{
    echo "Record n°" . $id . ": " . $row['user_id'] . "<br>";
}
foreach($id=>$row的行)
{
回显“记录n°”.$id.:“$row['user_id']。”
”; }
我不能这样做,因为我正在编写的脚本已经有了foreach。在这个foreach中,我有一个变量,即用户id,它在两个值之间交换。这就是为什么我需要如我所说的那样使用数组,这样我就可以根据用户id获得不同的数据。我这样做了,但是数组中有两个值。每个字段一个带关联键,一个带数字键。检查我的更新。我现在在
PDO::FETCH()
中强制执行
PDO::FETCH::FETCH
。这应该适合你的需要谢谢,太好了!
foreach($rows as $id => $row)
{
    echo "Record n°" . $id . ": " . $row['user_id'] . "<br>";
}