php把一个数组放在另一个数组的后面,在PHP中的另一个数组之间注入一个数组
5 個答案:
答案 0 :(得分:3)
基于您的陣列可能會發生變化但會繼續擁有像heading1,heading2這樣的鍵的假設,這將是我的解決方案
$newArray = array_merge($main_array,$mid_array);
ksort($newArray);
這將返回您需要的數組。
答案 1 :(得分:1)
我認為您正在尋找array_splice,因此:
array_splice($main_array, 2, 0, $mid_array);
注意:array_splice不會保留密鑰,如果密鑰對您很重要,請使用以下命令:
function array_insert(&$input, array $arrayToAdd, int $atPosition) {
$before = array_slice($input, 0, $atPosition, true);
$after = array_slice($input, $atPosition, null, true);
$input = $before + $arrayToAdd + $after;
}
用法強>
array_insert($main_array, $mid_array, 2);
答案 2 :(得分:0)
答案 3 :(得分:0)
$after = 'heading2';
$result = array_reduce(
array_keys($main_array),
function ($carry, $key) use ($main_array, $after, $mid_array) {
$carry[$key] = $main_array[$key];
return $key === $after
? array_merge($carry, $mid_array)
: $carry;
},
[]
);
答案 4 :(得分:0)
如果鍵排序存在問題(類似于array_merge),則可以通過遞歸遍歷來展平插入的數組。你走的路可以隨心所欲地挑選你需要的東西。
$insert = [
'foo' => 'And it\'s been the ruin of many a poor boy',
'bar' => 'And god I know I\'m one'
];
$inserted = [
'big' => 'There is a house in New Orleans',
'fat' => 'They call the rising sun',
$insert,
'mama' => 'My mother was a taylor'
];
$flattened = [];
array_walk_recursive(
$inserted,
function($v, $k) use (&$flattened) {
$flattened[$k] = $v;
}
);
var_export($flattened);
輸出:
array (
'big' => 'There is a house in New Orleans',
'fat' => 'They call the rising sun',
'foo' => 'And it\'s been the ruin of many a poor boy',
'bar' => 'And god I know I\'m one',
'mama' => 'My mother was a taylor',
)
總結
以上是生活随笔為你收集整理的php把一个数组放在另一个数组的后面,在PHP中的另一个数组之间注入一个数组的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: php数组删除重复的,从PHP中的数组中
- 下一篇: include php 失效,为什么in