将MySQL查询转换为多维数组

时间:2014-10-01 21:39:25

标签: php mysql arrays multidimensional-array

我在解决这个问题时遇到了麻烦。我有一组从MySQL查询返回的数据,如下所示:

url |用户
https://www.facebook.com/ |帕特里克
https://www.google.com/ |帕特里克
https://www.reddit.com/ |鲍勃
https://www.bing.com/ |鲍勃
https://www.yahoo.com/ |伯莎

其中'|'是字段分隔符。

我需要使用PHP解析这些数据,以形成如下所示的多维数组:

patrick
   https://www.facebook.com/
   https://www.google.com/
bob
   https://www.reddit.com/
   https://www.bing.com/
bertha
   https://www.yahoo.com/

任何帮助都将不胜感激。

1 个答案:

答案 0 :(得分:0)

假设您知道如何使用PHP从数据库中获取结果,我会使用类似的东西;

while($row = $result->fetch_assoc()) {
    $array[$row['users']][] = $row['url'];
}

您将获得一个数组,其中用户为第一个键,数字为第二个,其中url为值,如下所示;

Array (
   patrick => Array (
              [0] => https://www.facebook.com/
              [1] => https://www.google.com/
   )
   bob => Array (
              [0] => https://www.reddit.com/
              [1] => https://www.bing.com/
   )
   bertha => Array (
              [0] => https://www.yahoo.com/
   )
)

注意:我在这里使用了面向对象的样式mysqli函数。如果您仍在使用mysql_功能,请尽快迁移到MySQLi或PDO。

希望这有帮助。