如何连接两个数组键?

时间:2013-04-14 21:45:38

标签: php html arrays function

我想知道是否有办法将两个Array键转换为一个Array键?

作为一个例子,数组看起来像:

[0] => '12345' 
[1] => 'New'
[2] => 'York'

如何将[1] => 'New'[2] => 'York'合并到[1] => 'New York'

我发现的所有内容都是array_merge,它结合了两个数组。即使在如何连接两个数组键我也找不到任何东西。

非常感谢。

2 个答案:

答案 0 :(得分:2)

您可以尝试:

$data = array(12345,"New","York");
echo concat($data, array(1,2)); //New York

//或

$data = array(12345,"New","York");
print_r(concatArray($data, array(1,2))); 

输出

Array
(
    [0] => 12345
    [1] => New York
)

使用的功能

function concat($array, $keys , $glue = " ") {
    $values = array_intersect_key($array, array_flip($keys));
    return implode($glue, $values);
}


function concatArray($array, $keys, $glue = " ") {
    $last = null;
    foreach ( $array as $key => &$value ) {
        if (in_array($key, $keys)) {
            if ($last === null) {
                $last = $key;
                continue;
            }
            $array[$last] .= $glue . $value;
            unset($array[$key]);
        }
    }
    return $array;
}

答案 1 :(得分:1)

这是一个提示;)

$new = $array[1] . ' ' . $array[2];
$array[1] = $new;
unset($array[2]);