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

发布于 2024-11-08 10:54:14 字数 290 浏览 0 评论 0原文

我的 MySQL 查询输出是

dbcol_a | dbcol_b
数据A1 |数据B1
数据A1 |数据B2
数据A2 |数据B3
数据A2 |数据B4
数据A2 | dataB5

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

arcol_a | arcol_b
数据A1 |数据B1
----------|数据B2
数据A2 |数据B3
----------|数据B4
----------|数据B5

谢谢

my MySQL query output is

dbcol_a | dbcol_b
dataA1 | dataB1
dataA1 | dataB2
dataA2 | dataB3
dataA2 | dataB4
dataA2 | dataB5

I wanna parse into struturized array like this:

arcol_a | arcol_b
dataA1 | dataB1
----------| dataB2
dataA2 | dataB3
----------| dataB4
----------| dataB5

thanks

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

影子是时光的心 2024-11-15 10:54:14

应该这样做:

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

这样,您可以将第二列中的每个值添加到具有第一列索引的数组中。

This should do it:

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

This way you add each value in the second column to an array with an index of the first column.

蓝天 2024-11-15 10:54:14
  1. 创建一个名为的哈希表
    arcol_a_array
  2. 循环遍历你的
    数据。对于每一行,检查并查看
    如果当前 arcol_a 值是
    arcol_a_array 数组。如果不,
    添加它。该键的值应该是一个只有一个元素的数组 - 当前行的 arcol_b 值(
  3. 如果 arcol_a 值存在于 arcol_a_array 哈希表中) ,修改数组以添加来自 arcol_b 的新值。
  1. Make an hashtable called
    arcol_a_array.
  2. Loop through your
    data. For each row, check and see
    if the current arcol_a value is a key in
    the arcol_a_array array. If not,
    add it. The value of this key should be an array with one element - the value of the current row's arcol_b
  3. If the arcol_a value existed in the arcol_a_array hashtable, modify the array to add the new value from arcol_b.
累赘 2024-11-15 10:54:14
$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']);
  }
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文