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

PHP
45 lines
<?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());
?>
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Çıktısı

Markdown
67 lines
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
)
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

 

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