<?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 )