Harflerin Permütasyonlarını Yazdırmak

<?php
class permutasyon{
	var $uzunluk;
	var $permutasyonSayac;
	var $permutasyonlar;
	var $ciz;
function permutasyon($veriler, $uzunluk) {
		$this->uzunluk=$uzunluk;
		for ($i = 0; $i < strlen($veriler); $i++) {
			$permutasyonlar[0][$i] = substr($veriler, $i, 1);
			$gecici[$i]         = substr($veriler, $i, 1);
			$gecici2[0][$i]     = substr($veriler, $i, 1);  
		}                                 
		for ($i = 1; $i < $uzunluk; $i++) {
			for ($k = 0; $k < strLen($veriler); $k++) {
				for ($j = 0; $j < sizeof($gecici2[$i - 1]); $j++) {
					$permutasyonlar[$i][($k * sizeof($gecici2[$i - 1])) + $j] = $gecici[$k] . $gecici2[$i - 1][$j];
					$gecici2[$i][($k * sizeof($gecici2[$i - 1])) + $j]     = $gecici[$k] . $gecici2[$i - 1][$j];
				}		
			}
		}   
		$k = 0;
		for ($i = 0; $i < $uzunluk; $i++) {
			$k += sizeof($permutasyonlar[$i]);
		}
		$this->permutasyonSayac = $k;
		$this->permutasyonlar=$permutasyonlar;	
		return $permutasyonlar;		      
	}   
	function ciz(){
		for ($i = 0; $i < $this->uzunluk; $i++) {
			for ($j = 0; $j < sizeof($this->permutasyonlar[$i]); $j++) {
				$this->ciz.=$this->permutasyonlar[$i][$j] . "<br>";
			}	                                
			$this->ciz.= "<br>";
		} 
		return $this->ciz;
	}
}      
$permutasyon= new permutasyon("ab", 3);
echo "<b>".$permutasyon->permutasyonSayac."</b> permütasyon oluşturuldu.<br>";
echo $permutasyon->ciz();
?>

Çıktısı

14 permütasyon oluşturuldu.
a
b

aa
ab
ba
bb

aaa
aab
aba
abb
baa
bab
bba
bbb

 

Sizin Değerli Görüşlerinize İhtiyacımız Var.