代码之家  ›  专栏  ›  技术社区  ›  Paddy Hallihan

php/sql-从数据库查询创建多维数组

  •  2
  • Paddy Hallihan  · 技术社区  · 6 年前

    我有一个数据库,其中有许多条目的数据如下:

    id  number  data
    1   1       'tyfvib'
    2   1       'fgdhjjd'
    3   1       'gdgdhdj'
    4   2       'dgfhfh'
    5   2       'fghdhd'
    

    所以我有一个唯一的ID,然后是一个带数字的列,然后是一个带不同字符串的列。

    然后我有一个这样的查询:

    $sql = "SELECT * FROM table";
    $stmt = DB::run($sql);
    while($row = $stmt->fetch(PDO::FETCH_ASSOC)){
        $number= $row['number'];
        $data = $row['data'];
    }
    

    我想制作一个多维关联数组,首先是一个唯一数字数组,这些数组将包含一个与它们关联的数据数组。

    我试过放 $array[$number] = $data 在while循环中,但这显然只会生成一个数组,其中与数字关联的唯一数据是循环中的最后一个数据。

    对此,任何帮助或建议都将不胜感激。

    2 回复  |  直到 6 年前
        1
  •  3
  •   misorude    6 年前

    $array[$number][] = $data;
    

    $array[$number]

        2
  •  0
  •   RAUSHAN KUMAR    6 年前

    $alldata=[]
    while($row = $stmt->fetch(PDO::FETCH_ASSOC)){
        $alldata[$row['number']][] = $data
    }
    echo"<pre>";print_r($alldata);