在我的代码中,我从一个 sql 数据库中获取数据(三列),我想将这些行存储在一个关联的 PHP 数组中。该数组必须是多维的,因为我想使用数据库中的行 ID 作为键,以便我可以像这样获取值:
$products["f84jjg"]["name"]
$products["245"]["code"]
我试过使用下面的代码,但它不起作用:
while ($row = mysql_fetch_row($sqlresult))
{
$products = array($row[0] => array(
name => $row[1],
code => $row[2]
)
);
}
此外,如果键是从变量中获取的,我应该如何引用它?我想做的是:
$productName = $products[$thisProd]["name"];
这行得通吗?
最佳答案
假设 row[0]
的内容是唯一标识符(否则您可以覆盖一行),这应该可以做到:
while($row = mysql_fetch_row($sqlresult)) {
$products[$row[0]] = array(
'name' => $row[1],
'code' => $row[2]
);
}
您需要在数组键周围加上引号,并且您正在创建一个数组的数组。
另请注意,您可以使用 mysql_fetch_assoc
而不是 mysql_fetch_row
,它会给你数组键作为列名,这会让这更容易/更清晰:
while($row = mysql_fetch_assoc($sqlresult)) {
$products[$row['myidcolumn']] = $row;
}
执行此操作后,您描述的代码将起作用。
关于php - PHP 中的二维关联数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/992162/