我想知道是否有办法将两个Array键转换为一个Array键?
作为一个例子,数组看起来像:
[0] => '12345'
[1] => 'New'
[2] => 'York'
如何将[1] => 'New'
和[2] => 'York'
合并到[1] => 'New York'
?
我发现的所有内容都是array_merge
,它结合了两个数组。即使在如何连接两个数组键我也找不到任何东西。
非常感谢。
答案 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]);