将来自联接的一对多信息放入子数组

时间:2018-10-31 04:12:18

标签: php mysql database mysqli pdo

我有两个表,其中第一个看起来像这样:

customer
----------
id
name
age
sex

还有另一个看起来像这样的表:

phone
---------
id
customer_id
number
ext
phone_type

如果我想获得一个包含所有电话号码的客户,我会加入并可能获取如下数据:

id  name   age   sex   number     ext  phone_type
---------------------------------------------------
1   Bob    36    M     555-4343   3    office
1   Bob    36    M     555-1111        mobile
2   Sue    23    F     123-4444   42   office
2   Sue    23    F     123-2222        home
2   Sue    23    F     123-1111        mobile

使用PHP,我希望将这些行转换为更可用的数据结构。我希望有一个具有2行的关联数组,而不是具有5行的关联数组,其中1行用于Bob,另一行用于Sue。然后,每行将有一个名为“电话”的字段,其中包含一个数组,其中包含所有客户的电话号码。

我已经查看了PDO提供的所有获取模式,但没有发现有任何帮助。我唯一想做的就是遍历返回数据集中的每一行并构建一个全新的数组。如果我有一个很大的返回数据集,这似乎会变得效率很低。是否有PDO提取方法或解决此问题的有效方法?

0 个答案:

没有答案