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(

比如数组:array1 = array('a', 'b', 'c');array2 = array('1', '2', '3');
希望能实现结果 array3 = array('a', '1', 'b', '2', 'c', '3'); 这种效果,
方法一: 
php"> 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]);//将数组压入新的变量  topstudy.com点cn  整理
          }
      }
     return $arr;
 }   
其实原理都一样:都是以长度较长的作为遍历的基准,然后交叉插入新的数组中,在循环过程中需要判断是否会下标越界
 

本文标题为:php交叉合并数组的办法

基础教程推荐