我需要每一個可能的組合來構建在PHP中的字符串像字符串在PHP中的每一種可能的組合
s5z-s4z-S3Z-S2Z-s1z
,其中 'S' 則數字總是處於相同的位置。 唯一的區別是最終是否有z。
因此,例如,我會
- s5z-s4z-S3Z-S2Z-S1
- s5z-s4z-S3Z-S2Z-s1z
- s5z-s4z-S3Z-S2-S1
- s5z-s4z-S3Z-S2Z-S1
- s5z-s4z-S3Z-S2-s1z
- s5z-s4z-S3-S2-s1z
- 等
我該怎麼做呢?
我需要每一個可能的組合來構建在PHP中的字符串像字符串在PHP中的每一種可能的組合
s5z-s4z-S3Z-S2Z-s1z
,其中 'S' 則數字總是處於相同的位置。 唯一的區別是最終是否有z。
因此,例如,我會
我該怎麼做呢?
所以基本上這一切都依賴於「是否有z」。這可以很容易地轉換爲二進制數字,其中每個0
代表z
不在那裏,並且每個1
指示存在z
。
因此,您只需循環遍歷所有數字。
$length = 5;
$max = bindec(str_repeat("1",$length));
$out = Array();
for($i=0; $i<$max; $i++) {
$entry = Array();
for($x=0; $x<$length; $x++) $entry[] = "s".($length-$x).($i & (1<<$x) ? "z" : "");
$out[] = implode("-",$entry);
}
echo implode(" ",$out);
家庭作業。瘸。 – Ray
請將您的問題重新標記爲「家庭作業」。另外,它是一個重複:http://stackoverflow.com/questions/2617055/how-to-generate-all-permutations-of-a-string-in-php – alfasin
重複作業?這是...跛腳(跛腳()).. –