Php 从查询创建多维数组

Php 从查询创建多维数组,php,mysql,arrays,Php,Mysql,Arrays,我正在使用下面的代码从查询中创建一个多维数组,这样我就可以按类别组织结果,但它只得到2列(类别、代理) 我不知道我如何才能改变这一点,使我可以得到4列(类别,机构,描述,网站)。非常感谢您的帮助 $categories = array(); while ($row = mysqli_fetch_array($result)) { $category = $row['category']; $categories[$category][] = $row['agency']; }

我正在使用下面的代码从查询中创建一个多维数组,这样我就可以按类别组织结果,但它只得到2列(类别、代理)

我不知道我如何才能改变这一点,使我可以得到4列(类别,机构,描述,网站)。非常感谢您的帮助

$categories = array();
while ($row = mysqli_fetch_array($result))
{
    $category = $row['category'];
    $categories[$category][] = $row['agency'];
}

<?php
    foreach ($categories as $category => $agencies)
    {
?>
    <h3><?php echo $category; ?></h3>
    <table class="chart">
<?php
    foreach ($agencies as $agency)
    {
?>
        <tr><td><?php echo $agency; ?></td></tr>
<?php
    }
?>
    </table>
<?php
    }
?>
$categories=array();
while($row=mysqli\u fetch\u数组($result))
{
$category=$row['category'];
$categories[$categories][=$row['agency'];
}

您可以将单个行结果存储为关联数组:

$categories[$category][] = array(
      'agency' => $row['agency'], 
      'description' => $row['description'], 
      'website' => $row['website']
  );

可以将各行结果存储为关联数组:

$categories[$category][] = array(
      'agency' => $row['agency'], 
      'description' => $row['description'], 
      'website' => $row['website']
  );

谢谢,这正是我想要的。在我看来,由于某种原因,这要复杂得多。谢谢,这正是我想要的。在我看来,出于某种原因,这要复杂得多。