【发布时间】:2017-11-27 05:20:26
【问题描述】:
我尝试获取字符串的所有组合大小写字符。例如我的字符串是abc。我需要得到这样的结果,字符串的 3 个字符的所有组合:(2^0) x (2^1) x (2^2) = 8:
abc
Abc
ABc
ABC
aBC
abC
AbC
aBc
我的代码是这样的,但我有一个问题,我的代码有重复的情况,不返回 AbC 和 aBc:
<?php
function opposite_case($str)
{
if(ctype_upper($str))
{
return strtolower($str);
}
else
{
return strtoupper($str);
}
}
$str = "abc";
for($i = 0 ; $i < strlen($str) ; $i++)
{
for($j = 0 ; $j < strlen($str) ; $j++)
{
$str[$j] = opposite_case($str[$j]);
echo $str."<br>";
}
}
?>
【问题讨论】:
-
@chris85 我的代码有重复的情况,不返回
AbC和aBc -
这是一个Java实现(**可疑粘贴**):stackoverflow.com/questions/6785358/…
-
@ka_lin 非常感谢亲爱的,我将此 Java 答案转换为 PHP 并完美运行。 stackoverflow.com/a/6785649/1307387
标签: php combinations uppercase lowercase