你好,有2个像这样的表
TABLE products_ids
id_product_unique
1
2
TABLE products_list
id_product id_product_unique lang price
5 2 en 1.00
65 2 es 44.15
51 1 en 53.5
9 1 es 6.20
是否有可能创建一个结果IN MYSQL ONLY,它将为任何id_product_unique创建一个数组,每个数组都有2个子数组用于“en”lang和“es”lang或者我必须用php处理数据才能得到结果如此个性化?
例如
[0]{
id_product_unique -> 1
[0]{
[id_product]-> 5
[price] -> 1.00
[lang] -> en
}
[1]{
[id_product]-> 65
[price] -> 44.15
[lang] -> es
}
}
[1]
[id_product_unique]-> 2
// and so on
答案 0 :(得分:1)
不,不仅仅是在MySQL中。 MySQL处理简单的行&列,甚至不知道PHP数组是什么。只需循环一次。
答案 1 :(得分:0)
<?php
$reformated = null;
foreach ($raw as $key => $value) {
$reformated[$value['id_product_unique']] = array_merge(
(array)$reformated[$value['id_product_unique']],
array(array('price'=>$value['price'], 'lag'=>$value['lang'], 'id_product'=>$value['id_product']))
);
}
print_r($reformated)."\n\n";