php - 根据相同的键连接数组值

标签 php arrays merge associative-array

延伸到我的最后一个问题,我有一个如下所示的数组:

 Array
(
    [0] => Array
        (
            [id] => 1
            [uid] => 746
            [lid] => 748
        )

   [1] => Array
        (
            [id] => 6
            [uid] => 746
            [lid] => 744
        )

   [2] => Array
        (
            [id] => 11
            [uid] => 749
            [lid] => 743
        )


)

我现在想要的是将值与相同的 uid 合并,输出为:

 Array
(
    [0] => Array
        (
            [id] => 1,6
            [uid] => 746
            [lid] => 748,744
        )

   [1] => Array
        (
            [id] => 11
            [uid] => 749
            [lid] => 743
        )


)

这可能吗?不知道有没有什么功能。

最佳答案

如果您要将其插入数据库,请不要执行 this因为从长远来看,这会咬你一口。无论如何,没有内置函数可以执行此操作。您只需要一个简单的 foreach 循环。考虑这个例子:

$new_values = array();
$values = array(
    array('id'=> 1, 'uid' => 746, 'lid' => 748),
    array('id'=> 6, 'uid' => 746, 'lid' => 744),
    array('id'=> 11, 'uid' => 749, 'lid' => 743),
);

foreach($values as $value) {
    if(isset($new_values[$value['uid']])) {
        $temp = $new_values[$value['uid']];
        $temp['id'] .= ',' . $value['id'];
        $temp['lid'] .= ',' . $value['lid'];
        $new_values[$value['uid']] = $temp;
    } else {
        $new_values[$value['uid']] = $value;
    }
}

$new_values = array_values($new_values); // reindex keys

Sample Output

关于php - 根据相同的键连接数组值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24470643/

相关文章:

php - iframe colorbox 联系表单不会提交,样式不会在验证后保留

php - 什么是替换行结尾的跨平台正则表达式?

PHP生成随 secret 码

r - 合并R中的两个因子列

python - 如何在 Python/MySQL 中比较 2 个列表并将它们合并?

javascript - WordPress 中的动态自定义代码转义

javascript - 在动态 JavaScript 对象中创建动态数组(键/值对)

php - 从通过 JSON 从 PHP/Cakephp 传递到 Javascript/Jquery 的嵌套数组中获取数据

javascript - jquery创建二维数组

javascript - jQuery - 通过改变合并两个数组