Просмотр поста

.
reaper

Я сделал это!

//$s = "9assqd,bxw8u";
$s = "abcd";
$s = strtolower($s);
$chars = preg_split('//', $s, -1, PREG_SPLIT_NO_EMPTY);
$len = count($chars);
$result = [$s];
echo "x: y => z\n\n";
for ($x = 1; $x < $len; $x++) {
    echo $x, ":\n";
    for ($y = 0; $y < $len; $y++) {
        echo "  ", $y, " => ";
        $variant = $chars;
        for ($g = 0; $g < $x; $g++) {
            $z = $y + $g;
            if ($z > $len - 1) {
                $z = abs($z - $len);
            }
            echo $z, " ";
            $variant[$z] = strtoupper($variant[$z]);
        }
        echo "\n";
        $variant = join("", $variant);
        $result[] = $variant;
        echo "\t", $variant, "\n";
    }
    echo "\n";
}

$result[] = strtoupper($s);
$result = array_unique($result);
foreach ($result as $v) {
    echo $v, "\n";
}