PHP5入門之分組演算法

來源:互聯網
上載者:User

例子,把一組資料拆分為6組輸出演算法。代碼:

  1. $groupCount = 6; //組數
  2. $userIdList = array(1, 2, 3, 4, 5, 6, 7, 8, 9,10);
  3. $size = count($userIdList );
  4. $sizeGroupPer = floor($size / $groupCount );//每組被分配的個數
  5. $criticalValue = $size % $groupCount ; //臨界值
  6. $startIndex = 0;
  7. $endIndex = 0;
  8. for ($i = 0; $i < $groupCount ; $i++ ) {
  9. if ($i < $critical) { //表示哪些組可以被多分配
  10. $endIndex = $startIndex + $sizeGroupPer + 1;
  11. } else {
  12. $endIndex = $startIndex + $sizeGroupPer ;
  13. } // bbs.it-home.org
  14. $strGroup = "";
  15. for ($j = $startIndex ; $j < $endIndex; $j++) {
  16. if (($j + 1) == $to) {
  17. $strGroup .= $arryData[$j];
  18. } else {
  19. $strGroup .= $arryData[$j].",";
  20. }
  21. }
  22. $startIndex = $endIndex;
  23. echo "第 ".$i." 組資料::".$strGroup;
  24. }
複製代碼
  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.