2

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

例如,数组看起来像:

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

我怎样才能结合[1] => 'New'[2] => 'York'进入[1] => 'New York'

我发现的只是array_merge结合了两个数组。即使关于如何连接两个 Array 键,我也找不到任何东西。

非常感谢。

4

2 回答 2

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;
}
于 2013-04-14T21:51:26.677 回答
1

这是一个提示;)

$new = $array[1] . ' ' . $array[2];
$array[1] = $new;
unset($array[2]);
于 2013-04-14T21:49:31.087 回答