PHP   发布时间:2022-04-09  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了php – 我可以使用PDO :: FETCH_GROUP按两个值对结果进行分组大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我使用 PHP和PDO从数据库中检索一组值,然后按第一列分组,使用以下代码
$result = $sth->fetchAll(PDO::FETCH_GROUP|PDO::FETCH_NUM);

这意味着如果我的数据采用以下格式:

|column1    |column2    |column3|
|1          |2          |a|
|1          |2          |b|

它返回为:

1: {
     [column2: 2,column3: a],[column2:2,column3:b]
    }

我如何column1和column2进行分组,以便得到如下内容

1: 
   {
    2:
      {
        column3: a,column3:b
      }
    }

这可能与PDO常量的组合有关吗?

谢谢

如您所见,通过使用PDO :: FETCH_GROUP将其与一个指定列分组,可以轻松地轻松地重建阵列.你需要的是将二维数组(数据库的结果)转换为三维数组,但不可能以这种方式重建它.

您需要通过嵌套循环手动执行此操作.这很简单,像这样:

// let's assume $result is:
$result = [
    [1,2,'a'],[1,'b']
];

$newResult = [];
foreach( $result as $row ) {
    $newresult[$row[0]][$row[1]][] = $row[2];
}

var_dump($newResult);

它返回:

array(1) {
  [1]=>
  array(1) {
    [2]=>
    array(2) {
      [0]=>
      String(1) "a"
      [1]=>
      String(1) "b"
    }
  }
}

它看起来像你需要的东西.

大佬总结

以上是大佬教程为你收集整理的php – 我可以使用PDO :: FETCH_GROUP按两个值对结果进行分组全部内容,希望文章能够帮你解决php – 我可以使用PDO :: FETCH_GROUP按两个值对结果进行分组所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。