我想知道是否有辦法將兩個數組鍵轉換爲一個數組鍵?如何連接兩個數組鍵?
作爲一個例子的陣列看起來像:
[0] => '12345'
[1] => 'New'
[2] => 'York'
我怎麼能結合[1] => 'New'
和[2] => 'York'
到[1] => 'New York'
?
我發現的所有是array_merge
,它結合了兩個陣列。即使如何conconternate兩個數組鍵我找不到任何東西。
非常感謝。
我想知道是否有辦法將兩個數組鍵轉換爲一個數組鍵?如何連接兩個數組鍵?
作爲一個例子的陣列看起來像:
[0] => '12345'
[1] => 'New'
[2] => 'York'
我怎麼能結合[1] => 'New'
和[2] => 'York'
到[1] => 'New York'
?
我發現的所有是array_merge
,它結合了兩個陣列。即使如何conconternate兩個數組鍵我找不到任何東西。
非常感謝。
你可以試試:
$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;
}
這裏有一個提示;)
$new = $array[1] . ' ' . $array[2];
$array[1] = $new;
unset($array[2]);
不要忘記檢查存在的壽。如果鍵不存在,這至少會拋出四個警告;) – 2013-04-14 21:51:19
這就是爲什麼這是一個提示;) –
現在我明白了。這安靜簡單但行人。謝謝。 – bonny
沒有在功能上沒有內置此。只需將它們連接起來,然後相應地修改您的數組。 –
「即使如何conconternate兩個數組鍵我找不到任何東西」,所以這應該如何工作?你能給我一個提示嗎? – bonny
$ array [1]。=''。$ array [2]; – Twisted1919