note 107049 deleted from function.chr by danbrown
| From: | danbrown@php.net | Date: | Tue, 03 Jan 2012 21:45:17 +0000 |
| Subject: | note 107049 deleted from function.chr by danbrown | ||
| References: | 1 | Groups: | php.notes |
| Request: | Send a blank email to php-notes+get-185281@lists.php.net to get a copy of this message | ||
Note Submitter: Korvo
----
Converting numbers to chars (debugged) and vice versa:
if(is_numeric($input)){
$output = numToChars($input);
}
else{
$output = charsToNum($input);
}
function numToChars($num, $start = 65, $end = 90){
$num = abs($num);
$str = '';
$range = $end - $start + 1;
while($num != 0){
$char = $num % $range;
if($char === 0) $char = $range;
$str = chr( $char + $start - 1) . $str;
$num = ($num - $char) / $range;
}
return $str;
}
function charsToNum($str, $start = 65, $end = 90){
$str = strtoupper($str);
$num = 0;
$range = $end - $start + 1;
$strlen = strlen($str);
for($i = 0; $i < $strlen; $i++){
$c = substr($str, $i, 1);
$ord = ord($c);
if($ord >= $start && $ord <= $end){
$numbef = $num;
$num += ($ord - $start + 1) * pow($range, ($strlen-1 - $i));
}
}
return $num;
}