几乎像这样:PHP/mySQL - how to fetch nested rows into multidimensinal array
SELECT products.NAME, products_prices.PRICE FROM products LEFT JOIN products_prices ON products.ID = products_prices.PROD_ID
这通常会导致:
NAME, PRICE
window, 1000
window, 1200
mouse, 1400
因为 window
有两个价格而且可能根本没有价格。我希望它成为一个数组:
$arr = array(
array('NAME' => 'window', 'price' => array(
array('PRICE' => 1000),
array('PRICE' => 1200)
),
array('NAME' => 'mouse', 'price' => array(
array('PRICE' => 1400)
)
);
因此,连接的记录将是子数组。另一个问题可能有多个连接,但只有 LEFT JOIN-s。如何很好地做到这一点?链接示例将连接的列放在主要部分,我不想这样做。
最佳答案
看起来像这样:
$dataStore = array();
foreach ($recordSet as $record){
$dataStore[$record['NAME']]['prices'][] = $record['PRICE'];
}
只有当您确定一个产品名称可以有多个价格时,这才有效。
关于php - 我想查询连接的记录(左连接)并将它们放入 PhP 中的数组结构中,如何?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10432355/