PHP二维数组合并,根据某个key合并

/**
 *PHP二维数组合并,根据某个key合并
 * @param type $v 要传入的组合阵列
 * @param type $keyname 对应的KEY名称。
 * @param type $valname 要写入的值KEY名称
 * @param type $s 重组译的阵例。预设空值。
 */
function test($v,$keyname,$valname,$s=Array()){
    foreach($v AS $_k => $d){
        $s[$d[$keyname]][$valname]= $d[$valname];
    }
    return $s;
}
$key =‘server_id‘;
foreach($arr1 as $k=>$v){
    $arr[$v[‘server_id‘]]= $v;
}
$data = test($arr2,$key,‘arr2‘,$arr);
$data = test($arr3,$key,‘arr3‘,$data);
时间: 2024-10-07 06:29:17

PHP二维数组合并,根据某个key合并的相关文章

php将一个二维数组按照某个字段值合并成一维数组,如果有重复则将重复的合并成二维数组

版权声明:本文为博主原创文章,未经博主允许不得转载. 最近工作中碰到一个问题,用PHP将一个二维数组按照二维数组中的各个项中的某个特定字段值合并成一维数组,如果有重复则将重复的合并成二维数组,生成的二维数组的第一维的键是特定字段的值,二维的键可以是随机索引,也可以是其中的另一个字段的值.其实这个需求经常会在工作中碰到,只是碰到的时候一个有重复的就直接用之前的覆盖后面的或者用之后的覆盖之前的,这样很容易就可以处理了.很少碰到这种有一维数组又有二维数组的情况,先上代码: $a = array( 0

PHP方便快捷的将二维数组中元素的某一列值抽离出来作为此二维数组内元素的key

得益于PHP的强大的内置数组函数array_column();array_combine(); 举个小栗子: <?php // 先查询出用户的基本信息 $userArray = [['id' => 'zs', 'name' => '张三'], ['id' => 'ls', 'name' => '李四'], ['id' => 'wr', 'name' => '王二']]; // 将二维数组内某具体列的值组成一个新用户数组 $userArrayNew = array_

PHP二维数组根据某个元素(key)去重

/** * 二维数组根据key去重复 * @param $arr * @param $key * @return array */ function arrayUniqueness($arr,$key){ $res = array(); foreach ($arr as $value) { //查看有没有重复项 if(isset($res[$value[$key]])){ //有:销毁 unset($value[$key]); } else{ $res[$value[$key]] = $valu

PHP二维数组根据某个元素(key)排序

/** * 二维数组根据key排序 * @param $arr * @param $arr_key * @param string $order 排序规则 * @return mixed */ function myArrayMultisort($arr,$arr_key,$order='asc'){ foreach($arr as $val){ $key_arrays[]=$val[$arr_key]; } if ($order == 'asc'){ array_multisort($key_

数组合并函数,二维数组相同字段合并到一起。

一般从数据库中提取数据时,会遇到各种各样类型的数据,要求也不尽相同.自己这两天开发的时候遇到一个很纠结的问题,如下: 比如一个二维数组是这样的: Array ( [0] => Array ( [uid] => 231 [username] => 123456 [active] =>aaaa [transfer] =>1111 ) [1] => Array ( [uid] => 231 [username] =>123456 [active] => bb

PHP 统计一维数组value相同的元素的个数num,并将其转化为下标为数字,值是value和num的二维数组

最近做一个项目,从数据库查询某个字段得到一个数组key是数字值是channel的一维数组$res,现需要将这个数组变成键是数字值是channel和num(num为相同channel的数量,默认为0). $res数组 array (size=2) 0 => string '0' (length=1) 1 => string '500000009' (length=9) 2 => string '500000009' (length=9) $rs数组 array (size=2) 0 =&g

**PHP二维数组遍历时同时赋值

php 二维数组遍历赋值 我个人在项目中的写法: //遍历二维数组foreach($tmp_array as $key => $value){ //动态生成图片的URL $attach_url = $this->qiniu_utils->get_download_url($tmp_array[$key]['attach_save_name'] , '7vih5p.com1.z0.glb.clouddn.com', 'PRIVATE'); //赋值URL $tmp_array[$key][

php二维数组去除重复值

<?php$test[0] = array( 'id' => '17', 'name' => "儿童", 'ra' => "456");$test[1] = array( 'id' => '17', 'name' => "sad儿童", 'ra' => "789");$test[2] = array( 'id' => '16', 'name' => "撒的&quo

PHP 统计一维数组value同样的元素的个数num,并将其转化为下标为数字,值是value和num的二维数组

近期做一个项目.从数据库查询某个字段得到一个数组key是数字值是channel的一维数组$res,现须要将这个数组变成键是数字值是channel和num(num为同样channel的数量,默觉得0). $res数组 array (size=2) 0 => string '0' (length=1) 1 => string '500000009' (length=9) 2 => string '500000009' (length=9) $rs数组 array (size=2) 0 =&g