php交叉合并数组教程,两种方法

php教程3年前 (2022-04-01)7100

   php交叉合并数组                

如数组 array1 = array('a', 'b', 'c');

      array2 = array('1', '2', '3');

希望能实现结果 array3 = array('a', '1', 'b', '2', 'c', '3'); 这种效果,

方法一:

function cross_merge_array($arr1, $arr2)
    {
        $arr1 = array_values($arr1);
        $arr2 = array_values($arr2);
        $count = max(count($arr1), count($arr2));
        $arr = array();
        for ($i = 0; $i < $count; $i++) {
            if ($i < count($arr1)) $arr[] = $arr1[$i]; // 判断,避免下标越界
            if ($i < count($arr2)) $arr[] = $arr2[$i]; // 判断,避免下标越界
        }
        return $arr;
    }

方法二:

function cross_merge_array($arr1, $arr2)
{
     $size = count($arr1) > count($arr22) ? count($arr1) : count($arr2); //取出元素最多的数
     $arr = array();
     for ($i = 0; $i < $count; $i++) {
     if ($i < count($arr1)) {
              array_push($arr, $arr1[$i]); //将数组压入新的变量
         }

         if ($i < count($arr2)) {
              array_push($arr, $arr2[$i]);//将数组压入新的变量
         }
     }
     return $arr;
}

其实原理都一样:

       都是以长度较长的作为遍历的基准,然后交叉插入新的数组中,在循环过程中需要判断是否会下标越界

“php交叉合并数组教程,两种方法” 的相关文章

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。