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;
    }

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

  • 相关阅读:
    随想 20180517
    随想 20180516
    随想 20180514
    alpinelinux
    装系统时总是提示 保存分区表时出现错误(0000000001)函数不正确
    kindeditor在Firefoxt 和 Chrome 下不能取到值的解决方法
    浏览器兼容
    php生成随机密码的几种方法
    按钮效果
    linux下修改/dev/shm tmpfs文件系统大小
  • 原文地址:https://www.cnblogs.com/zqphp/p/3786204.html
Copyright © 2011-2022 走看看