Php 将冗余MySQL结果解析为结构化数组

Php 将冗余MySQL结果解析为结构化数组,php,mysql,arrays,parsing,join,Php,Mysql,Arrays,Parsing,Join,我的MySQL查询输出是 dbcol_a | dbcol_b 数据A1 |数据1 数据A1 |数据2 数据A2 |数据3 数据A2 |数据4 数据A2 |数据5 我想解析成这样的结构化数组: arcol_a | arcol_b 数据A1 |数据1 -----|数据2 数据A2 |数据3 -----|数据4 -----|数据5 谢谢 创建一个名为 arcol_a_阵列。 循环通过你的 数据对于每一行,请检查并查看 如果当前的arcol_值是 arcol_a_数组。如果没有,, 加上它。该键的值应该

我的MySQL查询输出是

dbcol_a | dbcol_b 数据A1 |数据1 数据A1 |数据2 数据A2 |数据3 数据A2 |数据4 数据A2 |数据5

我想解析成这样的结构化数组:

arcol_a | arcol_b 数据A1 |数据1 -----|数据2 数据A2 |数据3 -----|数据4 -----|数据5

谢谢

创建一个名为 arcol_a_阵列。 循环通过你的 数据对于每一行,请检查并查看 如果当前的arcol_值是 arcol_a_数组。如果没有,, 加上它。该键的值应该是一个包含一个元素的数组-当前行的arcol_b的值 如果arcol_a_数组哈希表中存在arcol_a值,请修改数组以添加arcol_b中的新值。 创建一个名为 arcol_a_阵列。 循环通过你的 数据对于每一行,请检查并查看 如果当前的arcol_值是 arcol_a_数组。如果没有,, 加上它。该键的值应该是一个包含一个元素的数组-当前行的arcol_b的值 如果arcol_a_数组哈希表中存在arcol_a值,请修改数组以添加arcol_b中的新值。 这应该做到:

$desired_array = array();
foreach ($query_output as $value)
{
  $desired_array[$value['arcol_a']][] = $value['arcol_b'];
}
通过这种方式,您可以将第二列中的每个值添加到具有第一列索引的数组中。

这应该可以做到:

$desired_array = array();
foreach ($query_output as $value)
{
  $desired_array[$value['arcol_a']][] = $value['arcol_b'];
}
$arr = array();

while($row = mysql_fetch_assoc($result)) {
   if(isset($arr[$row['arcol_a']])) {
    $arr[$row['arcol_a']][] = $row['arcol_b'];
  } else {
    $arr[$row['arcol_a']] = array($row['arcol_b']);
  }
}
通过这种方式,可以将第二列中的每个值添加到具有第一列索引的数组中

$arr = array();

while($row = mysql_fetch_assoc($result)) {
   if(isset($arr[$row['arcol_a']])) {
    $arr[$row['arcol_a']][] = $row['arcol_b'];
  } else {
    $arr[$row['arcol_a']] = array($row['arcol_b']);
  }
}