php过滤器基于键的数组值

时间:2013-05-01 08:42:43

标签: php

我有两个数组:$arr1$arr2。这两个数组具有相同的键。我正在使用重复键合并这两个数组。我的输出应显示重复键及其对应的值,例如

the key 22 exists and contains values 333,673,434 

以下是我目前的代码:

<?
    $result = array();
    foreach ($arr1 as $i => $key) 
    {
        $result[] = array($key => $arr2[$i]);
    }

    print_r($result);
?>

结果如下

Array
(
    [0] => Array
        (
            [22] => 333
        )

    [1] => Array
        (
            [22] => 673
        )

    [2] => Array
        (
            [22] => 434
        )

    [3] => Array
        (
            [29] => 67
        )?>

    [4] => Array
        (
            [29] => 98
        )
[5] => Array
        (
            [29] => 656
        )

    [6] => Array
        (
            [28] => 12
        )
}

1 个答案:

答案 0 :(得分:1)

变化:

 $result[] = array($key => $arr2[$i]);

 $result[$key][] = $arr2[$i];

您应该为每个索引获取一个数组。即22,28和29。

在22,你应该得到一个包含333,673和434的数组。

如果您需要逗号分隔值的值,请尝试

if(is_array($result)&&!empty($result))
    foreach($result as $key => $item)
        $result_new[$key] = implode(',', $result[$key]);
print_r($result_new);