PHP求一个含有N个元素的数组中取出M个元素组成新的数组,一共可以组合成的数组并输出

西部世界
西部世界
管理员
353
文章
0
粉丝
PHP日常 数组字数 108阅读0分21秒阅读模式
复制代码
  1. <?php
  2. $arr = array('a','b','c','d');
  3. $result = array();
  4. $t = getCombinationToString($arr, 4);
  5. print_r($t);
  6. function getCombinationToString($arr, $m) {
  7. if ($m ==1) {
  8. return $arr;
  9. }
  10. $result = array();
  11. $tmpArr = $arr;
  12. unset($tmpArr[0]);
  13. for($i=0;$i<count($arr);$i++) {
  14. $s = $arr[$i];
  15. $ret = getCombinationToString(array_values($tmpArr), ($m-1), $result);
  16. foreach($ret as $row) {
  17. $result[] = $s . $row;
  18. }
  19. }
  20. return $result;
  21. }
  22. ?>
复制代码
  1. 结果
  2.  
  3.  
  4. Array
  5. (
  6. [0] => abcd
  7. [1] => abdd
  8. [2] => accd
  9. [3] => acdd
  10. [4] => adcd
  11. [5] => addd
  12. [6] => bbcd
  13. [7] => bbdd
  14. [8] => bccd
  15. [9] => bcdd
  16. [10] => bdcd
  17. [11] => bddd
  18. [12] => cbcd
  19. [13] => cbdd
  20. [14] => cccd
  21. [15] => ccdd
  22. [16] => cdcd
  23. [17] => cddd
  24. [18] => dbcd
  25. [19] => dbdd
  26. [20] => dccd
  27. [21] => dcdd
  28. [22] => ddcd
  29. [23] => dddd
  30. )

文章末尾固定信息

 
西部世界
  • 本文由 西部世界 发表于2021年2月4日 22:30:06
  • 转载请务必保留本文链接:https://www.cnhawkit.com/1436.html