【发布时间】:2018-02-23 09:46:51
【问题描述】:
如何均匀地合并这两个数组?谢谢。
$array1 = ['1','3','5'];
$array2 = ['2','4','6'];
// Output
['1','2','3','4','5','6']
我目前的做法
$items = [];
$totalItem = count($array1) + count($array2);
while ($totalItem > 0) {
if (count($array1) > 0) {
array_push($items, array_shift($array1));
}
if (count($array2) > 0) {
array_push($items, array_shift($array2));
}
$totalItem -= 1;
}
我实际上正在寻找一种更有效的方法。提前感谢你们提供的任何想法:-)
【问题讨论】:
-
您是要合并然后排序,还是要得到一个数组,例如:
[$array1[0], $array2[0], $array1[1], $array2[1], $array1[2], $array2[2]], etc.? -
为什么不直接使用
array_merge($array1, $array2);? -
您是否希望一个数组中的值与另一个数组相同?在这种情况下,它们都是不同的,但它们会一直如此吗?
-
你有没有尝试合并它们然后排序?
-
@scagood 是的,我希望像这样合并两个数组 [$array1[0], $array2[0], $array1[1], $array2[1], $array1[2], $array2[2]] 没有排序。可以用现有的 php 函数来做到这一点吗?谢谢