我有兩個這樣的陣列:
$a = array (1 => [
1 => "a",
2 => "b",
3 => "c"]
2 => [
1 => "d",
2 => "e",
3 => "f"]
3 => [
1 => "g",
2 => "h",
3 => "i"]);
$b = array (1 => "1", 2 => "2", 3 => "3");
我需要兩個陣列如下
$a = array (1 => [
1 => "a",
2 => "b",
3 => "c",
4 => 1]
2 => [
1 => "d",
2 => "e",
3 => "f",
4 => 2]
3 => [
1 => "g",
2 => "h",
3 => "i",
4 => 3]
);
以這樣的方式將兩個陣列聯合起來,陣列的元素$b保留在陣列的末尾$a
非常感謝大家。
uj5u.com熱心網友回復:
此解決方案可以幫助您:
$a = [
1 => [
1 => "a",
2 => "b",
3 => "c"
],
2 => [
1 => "d",
2 => "e",
3 => "f"
],
3 => [
1 => "g",
2 => "h",
3 => "i"
]
];
$b = [
1 => "1",
2 => "2",
3 => "3"
];
$result = [];
array_walk($a, function($item, $key, $b) use (&$result) {
$result[$key] = array_merge($item, (array) $b[$key]);
}, $b);
在var_dump這個解決方案中:
array(3) {
[1]=>
array(4) {
[0]=>
string(1) "a"
[1]=>
string(1) "b"
[2]=>
string(1) "c"
[3]=>
string(1) "1"
}
[2]=>
array(4) {
[0]=>
string(1) "d"
[1]=>
string(1) "e"
[2]=>
string(1) "f"
[3]=>
string(1) "2"
}
[3]=>
array(4) {
[0]=>
string(1) "g"
[1]=>
string(1) "h"
[2]=>
string(1) "i"
[3]=>
string(1) "3"
}
}
如果你想測驗它,這是代碼的鏈接:http : //sandbox.onlinephpfunctions.com/code/a8548fff9271c76d9c8b57a2c6baee93fcad0e01
我希望我有幫助。
uj5u.com熱心網友回復:
你可以這樣實作:
foreach ($a as $key => $value) {
if (isset($b[$key])) $a[$key][count($a[$key]) 1] = $b[$key];
}
解釋:
- 我們迭代我們的
$a陣列 $key是其當前陣列的索引- 我們確保我們只添加元素,
$b如果它存在以避免錯誤 - 我們
$a[$key]在其count($a[$key]) 1索引處添加正確的元素,因為計數是 3,所以計數 1 是 4
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/361804.html
