Bir Kelimenin Büyük ve Küçük Harf Permütasyonlarını Almak

<?php
class buyukkucukPermutasyon{
	var $metin="";
	var $uzunluk=0;
	var $diziler=array();
	var $metinler=array();
	function buyukkucukPermutasyon($metin){
		header('Content-Type: text/html; charset=utf-8');
		mb_internal_encoding('UTF-8');
		$this->metin=$metin;
		$this->uzunluk=mb_strlen($metin);
	}
	function getir_buyukkucukPermutasyon(){
		$len=mb_strlen($this->metin);
		$this->permutasyon($this->metin,"");
		$this->dizi($this->diziler);
	}
	function permutasyon($metin,$deger=""){
		if ($metin!=""){
			$this->diziler[]=array($deger.mb_strtolower($metin{0}),$this->permutasyon(mb_substr($metin,1,mb_strlen($metin)),$deger.mb_strtolower($metin{0})) );
			$this->diziler[]=array($deger.mb_strtoupper($metin{0}),$this->permutasyon(mb_substr($metin,1,mb_strlen($metin)),$deger.mb_strtoupper($metin{0})) );
		}
	}
	function dizi($a=array()){
		while (list($anahtar, $deger) = each ($a)) {
		if(count($deger)<1) continue;
		   if((gettype($deger)=="array") && (count($deger)>0)) $this->dizi($deger);
		   elseif($this->uzunluk==mb_strlen($deger)) $this->metinler[]=$deger;
		}
	}
	function getir_metinler(){
		return $this->metinler;
	}
	function getir_diziler(){
		return $this->diziler;
	}
	function getir_uzunluk(){
		return $this->uzunluk;
	}
}
echo "<pre>";
$a = new buyukkucukPermutasyon("ulusan");
$a->getir_buyukkucukPermutasyon();
print_r($a->getir_metinler());
?>

Çıktısı

Array
(
    [0] => ulusan
    [1] => ulusaN
    [2] => ulusAn
    [3] => ulusAN
    [4] => uluSan
    [5] => uluSaN
    [6] => uluSAn
    [7] => uluSAN
    [8] => ulUsan
    [9] => ulUsaN
    [10] => ulUsAn
    [11] => ulUsAN
    [12] => ulUSan
    [13] => ulUSaN
    [14] => ulUSAn
    [15] => ulUSAN
    [16] => uLusan
    [17] => uLusaN
    [18] => uLusAn
    [19] => uLusAN
    [20] => uLuSan
    [21] => uLuSaN
    [22] => uLuSAn
    [23] => uLuSAN
    [24] => uLUsan
    [25] => uLUsaN
    [26] => uLUsAn
    [27] => uLUsAN
    [28] => uLUSan
    [29] => uLUSaN
    [30] => uLUSAn
    [31] => uLUSAN
    [32] => Ulusan
    [33] => UlusaN
    [34] => UlusAn
    [35] => UlusAN
    [36] => UluSan
    [37] => UluSaN
    [38] => UluSAn
    [39] => UluSAN
    [40] => UlUsan
    [41] => UlUsaN
    [42] => UlUsAn
    [43] => UlUsAN
    [44] => UlUSan
    [45] => UlUSaN
    [46] => UlUSAn
    [47] => UlUSAN
    [48] => ULusan
    [49] => ULusaN
    [50] => ULusAn
    [51] => ULusAN
    [52] => ULuSan
    [53] => ULuSaN
    [54] => ULuSAn
    [55] => ULuSAN
    [56] => ULUsan
    [57] => ULUsaN
    [58] => ULUsAn
    [59] => ULUsAN
    [60] => ULUSan
    [61] => ULUSaN
    [62] => ULUSAn
    [63] => ULUSAN
)

 

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