请问PHP:如何获得1D阵列的所有可能组合?

PHP:如何获得1D阵列的所有可能组合?

我已经在SO上阅读/尝试了很多建议的答案,这些答案都没有解决问题

$array = array('Alpha', 'Beta', 'Gamma');

如何获得所有可能的组合?

预期产量:

array('Alpha',
      'Beta',
      'Gamma',
      'Alpha Beta',
      'Alpha Gamma',
      'Beta Alpha',
      'Beta Gamma',
      'Gamma Alpha',
      'Gamma Beta',
      'Alpha Beta Gamma',
      'Alpha Gamma Beta',
      'Beta Alpha Gamma',
      'Beta Gamma Alpha',
      'Gamma Alpha Beta',
      'Gamma Beta Alpha')

注意:我正在寻找的答案应包括所有组合和所有不同的安排。例如:'Alpha Beta'和'Beta Alpha'是两个不同的字符串,两者都应该在输出数组中。

提前致谢


慕容森
浏览 310回答 1
1回答

达令说

我相信你的教授对这个解决方案会更满意:<?php $array&nbsp;=&nbsp;array('Alpha',&nbsp;'Beta',&nbsp;'Gamma',&nbsp;'Sigma');function&nbsp;depth_picker($arr,&nbsp;$temp_string,&nbsp;&$collect)&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;($temp_string&nbsp;!=&nbsp;"")&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$collect&nbsp;[]=&nbsp;$temp_string; &nbsp;&nbsp;&nbsp;&nbsp;for&nbsp;($i=0;&nbsp;$i<sizeof($arr);$i++)&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$arrcopy&nbsp;=&nbsp;$arr; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$elem&nbsp;=&nbsp;array_splice($arrcopy,&nbsp;$i,&nbsp;1);&nbsp;//&nbsp;removes&nbsp;and&nbsp;returns&nbsp;the&nbsp;i'th&nbsp;element &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(sizeof($arrcopy)&nbsp;>&nbsp;0)&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;depth_picker($arrcopy,&nbsp;$temp_string&nbsp;."&nbsp;"&nbsp;.&nbsp;$elem[0],&nbsp;$collect); &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;else&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$collect&nbsp;[]=&nbsp;$temp_string.&nbsp;"&nbsp;"&nbsp;.&nbsp;$elem[0]; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;}$collect&nbsp;=&nbsp;array();depth_picker($array,&nbsp;"",&nbsp;$collect);print_r($collect);?>这解决了它:Array( &nbsp;&nbsp;&nbsp;&nbsp;[0]&nbsp;=>&nbsp;&nbsp;Alpha &nbsp;&nbsp;&nbsp;&nbsp;[1]&nbsp;=>&nbsp;&nbsp;Alpha&nbsp;Beta &nbsp;&nbsp;&nbsp;&nbsp;[2]&nbsp;=>&nbsp;&nbsp;Alpha&nbsp;Beta&nbsp;Gamma &nbsp;&nbsp;&nbsp;&nbsp;[3]&nbsp;=>&nbsp;&nbsp;Alpha&nbsp;Beta&nbsp;Gamma&nbsp;Sigma &nbsp;&nbsp;&nbsp;&nbsp;[4]&nbsp;=>&nbsp;&nbsp;Alpha&nbsp;Beta&nbsp;Sigma &nbsp;&nbsp;&nbsp;&nbsp;[5]&nbsp;=>&nbsp;&nbsp;Alpha&nbsp;Beta&nbsp;Sigma&nbsp;Gamma &nbsp;&nbsp;&nbsp;&nbsp;[6]&nbsp;=>&nbsp;&nbsp;Alpha&nbsp;Gamma &nbsp;&nbsp;&nbsp;&nbsp;[7]&nbsp;=>&nbsp;&nbsp;Alpha&nbsp;Gamma&nbsp;Beta &nbsp;&nbsp;&nbsp;&nbsp;[8]&nbsp;=>&nbsp;&nbsp;Alpha&nbsp;Gamma&nbsp;Beta&nbsp;Sigma &nbsp;&nbsp;&nbsp;&nbsp;[9]&nbsp;=>&nbsp;&nbsp;Alpha&nbsp;Gamma&nbsp;Sigma &nbsp;&nbsp;&nbsp;&nbsp;[10]&nbsp;=>&nbsp;&nbsp;Alpha&nbsp;Gamma&nbsp;Sigma&nbsp;Beta &nbsp;&nbsp;&nbsp;&nbsp;[11]&nbsp;=>&nbsp;&nbsp;Alpha&nbsp;Sigma &nbsp;&nbsp;&nbsp;&nbsp;[12]&nbsp;=>&nbsp;&nbsp;Alpha&nbsp;Sigma&nbsp;Beta &nbsp;&nbsp;&nbsp;&nbsp;[13]&nbsp;=>&nbsp;&nbsp;Alpha&nbsp;Sigma&nbsp;Beta&nbsp;Gamma &nbsp;&nbsp;&nbsp;&nbsp;[14]&nbsp;=>&nbsp;&nbsp;Alpha&nbsp;Sigma&nbsp;Gamma &nbsp;&nbsp;&nbsp;&nbsp;[15]&nbsp;=>&nbsp;&nbsp;Alpha&nbsp;Sigma&nbsp;Gamma&nbsp;Beta &nbsp;&nbsp;&nbsp;&nbsp;[16]&nbsp;=>&nbsp;&nbsp;Beta &nbsp;&nbsp;&nbsp;&nbsp;[17]&nbsp;=>&nbsp;&nbsp;Beta&nbsp;Alpha &nbsp;&nbsp;&nbsp;&nbsp;[18]&nbsp;=>&nbsp;&nbsp;Beta&nbsp;Alpha&nbsp;Gamma &nbsp;&nbsp;&nbsp;&nbsp;[19]&nbsp;=>&nbsp;&nbsp;Beta&nbsp;Alpha&nbsp;Gamma&nbsp;Sigma &nbsp;&nbsp;&nbsp;&nbsp;[20]&nbsp;=>&nbsp;&nbsp;Beta&nbsp;Alpha&nbsp;Sigma &nbsp;&nbsp;&nbsp;&nbsp;[21]&nbsp;=>&nbsp;&nbsp;Beta&nbsp;Alpha&nbsp;Sigma&nbsp;Gamma &nbsp;&nbsp;&nbsp;&nbsp;[22]&nbsp;=>&nbsp;&nbsp;Beta&nbsp;Gamma &nbsp;&nbsp;&nbsp;&nbsp;[23]&nbsp;=>&nbsp;&nbsp;Beta&nbsp;Gamma&nbsp;Alpha &nbsp;&nbsp;&nbsp;&nbsp;[24]&nbsp;=>&nbsp;&nbsp;Beta&nbsp;Gamma&nbsp;Alpha&nbsp;Sigma &nbsp;&nbsp;&nbsp;&nbsp;[25]&nbsp;=>&nbsp;&nbsp;Beta&nbsp;Gamma&nbsp;Sigma &nbsp;&nbsp;&nbsp;&nbsp;[26]&nbsp;=>&nbsp;&nbsp;Beta&nbsp;Gamma&nbsp;Sigma&nbsp;Alpha &nbsp;&nbsp;&nbsp;&nbsp;[27]&nbsp;=>&nbsp;&nbsp;Beta&nbsp;Sigma &nbsp;&nbsp;&nbsp;&nbsp;[28]&nbsp;=>&nbsp;&nbsp;Beta&nbsp;Sigma&nbsp;Alpha &nbsp;&nbsp;&nbsp;&nbsp;[29]&nbsp;=>&nbsp;&nbsp;Beta&nbsp;Sigma&nbsp;Alpha&nbsp;Gamma &nbsp;&nbsp;&nbsp;&nbsp;[30]&nbsp;=>&nbsp;&nbsp;Beta&nbsp;Sigma&nbsp;Gamma &nbsp;&nbsp;&nbsp;&nbsp;[31]&nbsp;=>&nbsp;&nbsp;Beta&nbsp;Sigma&nbsp;Gamma&nbsp;Alpha &nbsp;&nbsp;&nbsp;&nbsp;[32]&nbsp;=>&nbsp;&nbsp;Gamma &nbsp;&nbsp;&nbsp;&nbsp;[33]&nbsp;=>&nbsp;&nbsp;Gamma&nbsp;Alpha &nbsp;&nbsp;&nbsp;&nbsp;[34]&nbsp;=>&nbsp;&nbsp;Gamma&nbsp;Alpha&nbsp;Beta &nbsp;&nbsp;&nbsp;&nbsp;[35]&nbsp;=>&nbsp;&nbsp;Gamma&nbsp;Alpha&nbsp;Beta&nbsp;Sigma &nbsp;&nbsp;&nbsp;&nbsp;[36]&nbsp;=>&nbsp;&nbsp;Gamma&nbsp;Alpha&nbsp;Sigma &nbsp;&nbsp;&nbsp;&nbsp;[37]&nbsp;=>&nbsp;&nbsp;Gamma&nbsp;Alpha&nbsp;Sigma&nbsp;Beta &nbsp;&nbsp;&nbsp;&nbsp;[38]&nbsp;=>&nbsp;&nbsp;Gamma&nbsp;Beta &nbsp;&nbsp;&nbsp;&nbsp;[39]&nbsp;=>&nbsp;&nbsp;Gamma&nbsp;Beta&nbsp;Alpha &nbsp;&nbsp;&nbsp;&nbsp;[40]&nbsp;=>&nbsp;&nbsp;Gamma&nbsp;Beta&nbsp;Alpha&nbsp;Sigma &nbsp;&nbsp;&nbsp;&nbsp;[41]&nbsp;=>&nbsp;&nbsp;Gamma&nbsp;Beta&nbsp;Sigma &nbsp;&nbsp;&nbsp;&nbsp;[42]&nbsp;=>&nbsp;&nbsp;Gamma&nbsp;Beta&nbsp;Sigma&nbsp;Alpha &nbsp;&nbsp;&nbsp;&nbsp;[43]&nbsp;=>&nbsp;&nbsp;Gamma&nbsp;Sigma &nbsp;&nbsp;&nbsp;&nbsp;[44]&nbsp;=>&nbsp;&nbsp;Gamma&nbsp;Sigma&nbsp;Alpha &nbsp;&nbsp;&nbsp;&nbsp;[45]&nbsp;=>&nbsp;&nbsp;Gamma&nbsp;Sigma&nbsp;Alpha&nbsp;Beta &nbsp;&nbsp;&nbsp;&nbsp;[46]&nbsp;=>&nbsp;&nbsp;Gamma&nbsp;Sigma&nbsp;Beta &nbsp;&nbsp;&nbsp;&nbsp;[47]&nbsp;=>&nbsp;&nbsp;Gamma&nbsp;Sigma&nbsp;Beta&nbsp;Alpha &nbsp;&nbsp;&nbsp;&nbsp;[48]&nbsp;=>&nbsp;&nbsp;Sigma &nbsp;&nbsp;&nbsp;&nbsp;[49]&nbsp;=>&nbsp;&nbsp;Sigma&nbsp;Alpha &nbsp;&nbsp;&nbsp;&nbsp;[50]&nbsp;=>&nbsp;&nbsp;Sigma&nbsp;Alpha&nbsp;Beta &nbsp;&nbsp;&nbsp;&nbsp;[51]&nbsp;=>&nbsp;&nbsp;Sigma&nbsp;Alpha&nbsp;Beta&nbsp;Gamma &nbsp;&nbsp;&nbsp;&nbsp;[52]&nbsp;=>&nbsp;&nbsp;Sigma&nbsp;Alpha&nbsp;Gamma &nbsp;&nbsp;&nbsp;&nbsp;[53]&nbsp;=>&nbsp;&nbsp;Sigma&nbsp;Alpha&nbsp;Gamma&nbsp;Beta &nbsp;&nbsp;&nbsp;&nbsp;[54]&nbsp;=>&nbsp;&nbsp;Sigma&nbsp;Beta &nbsp;&nbsp;&nbsp;&nbsp;[55]&nbsp;=>&nbsp;&nbsp;Sigma&nbsp;Beta&nbsp;Alpha &nbsp;&nbsp;&nbsp;&nbsp;[56]&nbsp;=>&nbsp;&nbsp;Sigma&nbsp;Beta&nbsp;Alpha&nbsp;Gamma &nbsp;&nbsp;&nbsp;&nbsp;[57]&nbsp;=>&nbsp;&nbsp;Sigma&nbsp;Beta&nbsp;Gamma &nbsp;&nbsp;&nbsp;&nbsp;[58]&nbsp;=>&nbsp;&nbsp;Sigma&nbsp;Beta&nbsp;Gamma&nbsp;Alpha &nbsp;&nbsp;&nbsp;&nbsp;[59]&nbsp;=>&nbsp;&nbsp;Sigma&nbsp;Gamma &nbsp;&nbsp;&nbsp;&nbsp;[60]&nbsp;=>&nbsp;&nbsp;Sigma&nbsp;Gamma&nbsp;Alpha &nbsp;&nbsp;&nbsp;&nbsp;[61]&nbsp;=>&nbsp;&nbsp;Sigma&nbsp;Gamma&nbsp;Alpha&nbsp;Beta &nbsp;&nbsp;&nbsp;&nbsp;[62]&nbsp;=>&nbsp;&nbsp;Sigma&nbsp;Gamma&nbsp;Beta &nbsp;&nbsp;&nbsp;&nbsp;[63]&nbsp;=>&nbsp;&nbsp;Sigma&nbsp;Gamma&nbsp;Beta&nbsp;Alpha)
打开App,查看更多内容
随时随地看视频慕课网APP