有两个数组:
$arrOne = [1, 3, 4];
$arrTwo = [2, 5,];
$newArr = [];
如何合并成这样;
$newArr=[1,2,3,4,5];
现在显示通过一个,这个选项是不合适的。
foreach ($arrOne as $k => $v) {
$newArr[] = $v;
$newArr[] = $arrTwo[$k];
}
这里是另一个例子。T数组中的值可以不同。
$arrOne = [154, 32, 15];
$arrTwo = [682, 124,];
同样,对于这个例子,来自第二个阵列的值必须始终位于新阵列中的2和5个位置:
$newArr = [154, 682, 32, 15, 124];
您可以使用array_splice以预期的方式将数组合并到特定索引:
array_splice( $arrOne, 1, 0, $arrTwo[0]);
array_splice( $arrOne, 4, 0, $arrTwo[1]);
var_dump($arrOne);
演示1:
使用原始数据:
$arrOne = [1, 3, 4];
$arrTwo = [2, 5,];
https://3v4l.org/dAMav
演示2:
使用第二组数据:
$arrOne = [154, 32, 15];
$arrTwo = [682, 124,];
https://3v4l.org/Xhl3K
您可以使用array_merge和排序函数来实现以下功能:
$newArr = array_merge($arrOne, $arrTwo); // it will be [1, 3, 4, 2, 5]
sort($newArr); // it will sort array [1, 2, 3, 4, 5]
你现在可以使用$newArr,它已经对数据进行了排序
$arrOne = [1, 3, 4];
$arrTwo = [2, 5];
$newArr = [];
foreach($arrOne as $key => $one) {
switch($key) {
case 1:
$newArr[] = $arrTwo[0];
break;
case 4:
$newArr[] = $arrTwo[1];
break;
}
$newArr[] = $one;
}
if(count($newArr) < 5) {
$newArr[] = $arrTwo[1];
}
演示链接
在这里,我们考虑在第二个阵列中总是有两个元素
$arrayOne = [12,23,45,56,65,78,99];
$arrayTwo = [2,5];
$mergedArray = [];
foreach($arrayOne as $key => $value) {
$position = $key + 1;
if ($position === 2) {
$mergedArray[] = $arrayTwo[0];
} else if ($position === 4) {
$mergedArray[] = $arrayTwo[1];
}
$mergedArray[] = $value;
}