elinize sağlık arkadaşlarım. yukarıda sayfa açıldığında karşıma 20511149 geldi.
bu nedir?
alfabede 29 tane harf var diyelim. bunlarla sırasıyla 4 harfli kelimeleri alt alta yazmayı deniyorum.
<?php
function permutations($letters,$num){
$last = str_repeat($letters{0},$num);
$result = array();
while($last != str_repeat(lastchar($letters),$num)){
$result[] = $last;
$last = char_add($letters,$last,$num-1);
}
$result[] = $last;
return $result;
}
function char_add($digits,$string,$char){
if($string{$char} <> lastchar($digits)){
$string{$char} = $digits{strpos($digits,$string{$char})+1};
return $string;
}else{
$string = changeall($string,$digits{0},$char);
return char_add($digits,$string,$char-1);
}
}
function lastchar($string){
return $string{strlen($string)-1};
}
function changeall($string,$char,$start = 0,$end = 0){
if($end == 0) $end = strlen($string)-1;
for($i=$start;$i<=$end;$i++){
$string{$i} = $char;
}
return $string;
}
?>
To use this Generator you can do something like this :
<?
$Array=permutations("ABCDEFGHIJKLMNOPRSTUVWYZX",4);
// $Array=permutations("abcdefghijklmnoprstuvwyzx",4);
for($i=0 ; $i < count($Array) ; $i++) {
echo ''.$Array[$i],'<BR>';
}
?>$Array=permutations("ABCDEFGHIJKLMNOPRSTUVWYZX",4) ; satırını düzenleyip sıralatıyorum. ama okumuyor.
$Array=permutations("ABCD",4); bu şekilde yapıyorum bu kezde kısalıyor.