php交叉合并數組

來源:互聯網
上載者:User

標籤:php   .so   合并   return   數組   max   cti   ref   push   

如數組 array1 = array(‘a‘, ‘b‘, ‘c‘);

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

希望能實現結果 array3 = array(‘a‘, ‘1‘, ‘b‘, ‘2‘, ‘c‘, ‘3‘); 這種效果,

方法一: 

 1     function cross_merge_array($arr1, $arr2) 2     { 3         $arr1 = array_values($arr1); 4         $arr2 = array_values($arr2); 5         $count = max(count($arr1), count($arr2)); 6         $arr = array(); 7         for ($i = 0; $i < $count; $i++) { 8             if ($i < count($arr1)) $arr[] = $arr1[$i]; // 判斷,避免下標越界 9             if ($i < count($arr2)) $arr[] = $arr2[$i]; // 判斷,避免下標越界10         }11         return $arr;12     }

參考:https://segmentfault.com/q/1010000014216293

方法二:

 1 function cross_merge_array($arr1, $arr2) 2 { 3      $size = count($arr1) > count($arr22) ? count($arr1) : count($arr2); //取出元素最多的數 4      $arr = array(); 5      for ($i = 0; $i < $count; $i++) { 6      if ($i < count($arr1)) { 7               array_push($arr, $arr1[$i]); //將數組壓入新的變數 8          } 9 10          if ($i < count($arr2)) {11               array_push($arr, $arr2[$i]);//將數組壓入新的變數12          }13      }14      return $arr;15 }          

 

參考:http://www.songlin51.com/archives/832.html

 

其實原理都一樣:

       都是以長度較長的作為遍曆的基準,然後交叉插入新的數組中,在迴圈過程中需要判斷是否會下標越界

 

php交叉合并數組

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.