zoukankan      html  css  js  c++  java
  • 数组合并函数,二维数组相同字段合并到一起。

    一般从数据库中提取数据时,会遇到各种各样类型的数据,要求也不尽相同。自己这两天开发的时候遇到一个很纠结的问题,如下:

    比如一个二维数组是这样的:

    Array (

    [0] => Array (

    [uid] => 231

    [username] => 123456

    [active] =>aaaa

    [transfer] =>1111

    )

    [1] => Array (

    [uid] => 231

    [username] =>123456

    [active] => bbbb

    [transfer] =>2222

    )

    [1] => Array (

    [uid] => 231

    [username] =>123456

    [active] => cccc

    [transfer] => 3333

    )

    )

    想让二维数组相同字段的数据合并到一起。效果如下:

    array(

    [uid] => 231

    [username] => 123456

    [active] =>array(

      aaaa,

      bbbb,

      cccc

    )

    [transfer] =>array(

      1111,

      2222,  

      3333

    )

    )

    function arr_rmar($array) {
    $temp = array ();
    foreach ( $array as $k => $v ) {
    $temp [$k] = $v ['uid'];
    }
    $temp = array_merge ( array_unique ( $temp ) );
    $temp2 = array ();
    for($i = 0; $i < count ( $temp ); $i ++) {
    $temp1 = array ();
    foreach ( $array as $k1 => $v1 ) {
    if ($v1 ['uid'] === $temp [$i]) {
    $temp1 ['username'] = $v1 ['username'];
    $temp1 ['active'] [] = $v1 ['active'];
    $temp1 ['transfer'] [] = $v1 ['transfer'];
    }
    }
    }
    $temp2 [] = $temp1;
    }
    return $temp2;
    }

    调用这个函数就可以。下面代码字段必须要和数组中的一样,还要注意需要合并的选项后面要价“[]”符号用来区分是否是数组。这也是这个函数的局限性,如果有更好的意见可以大家分享。

  • 相关阅读:
    excel 常用小技巧
    如何以正确的顺序重新安装驱动程序
    kaby LAKE 仅支持 Windows10
    关闭远程计算机CMD命令
    根据IP查主机名
    Charles安装与使用
    常用的算法思想总结
    iOS学习之单例模式
    PHP之简单实现MVC框架
    Objective-C 继承和多态
  • 原文地址:https://www.cnblogs.com/zqphp/p/3786204.html
Copyright © 2011-2022 走看看