<?
$str 
="kqerejebcppcjcrkieacuzbkrvpkrbcibqcarbjcvfcup";
$str .= "kriofkpacuzqepbkrxpeiieabdkpbcpfcdccafieabdkp";
$str .= "bcpfeqpkazbkrhaibkapcciburccdkdccjcidfuixpaff";
$str .= "erbiczdfkabicbbenefcupjcvkabpcydccdpkbcocperk";
$str .= "ivkscpicbrkijpkabi";
//print "STRING IS: $str";

$a="a";
for (
$i=0;$i<26;$i++){
//    print $a;
    
$array[$a] = substr_count($str,$a);
    
$index[$i] = $a;
    
$index[$a] = $i;
    
$a++;
}
print 
"Before sort:<br /><br /><pre>";
print_r($array);
print 
"</pre><br /> after sort<br />";
asort($array);
?>
<pre>
<?print_r($array);?>
</pre>

<?
$a 
19;
$b 4;
$a_1=11;
print_r($index);
function 
mod($index){
    if (
$index<0){
        
$ret = ((5*26+($index))*1)%26// 5 bruges bare til at give mig et højt tal. kunne ligeså godt have været endnu højere... *1 er et levn fra en tidligere version af funktionen mod

    
} else {
        
$ret $index%26;
    }
    return 
$ret;
}
print 
mod(-1)."<hr />";
print 
$str."<br />";
$new "";
for(
$s=0;$s<strlen($str);$s++){
//    print $s." - ".($s+1)."<br />";
    //print substr($str,$s,min(strlen($str)-1,1))." <br />";
    
$cipher_number $index[substr($str,$s,min(strlen($str)-1,1))]."<br />";
//    print strlen($index[]);
//    print ."<br />";
    
if ($s%5==0){ $new .= " ";}
    
$new .= strtoupper($index[mod(($a_1*($cipher_number-$b)))])."";
}
print 
$new." <br />";
?>