note 101587 added to function.base-convert
| From: | rheel at 1drop dot de | Date: | Tue, 28 Dec 2010 11:53:35 +0000 |
| Subject: | note 101587 added to function.base-convert | ||
| Groups: | php.notes | ||
| Request: | Send a blank email to php-notes+get-175272@lists.php.net to get a copy of this message | ||
If you need this function more flexible, this version also accepts character definitions as
$frombase and $tobase:
<?php
base_convert2('234', 10,
'0123456789abcdefghijklmnopqrstuvwxyzABCDEFHIJKLMNOPQRSTUVWXYZ');
function base_convert2($number,$frombase,$tobase){
$fromchars=$tochars='0123456789abcdefghijklmnopqrstuvwxyz';
if(is_string($frombase)){
$fromchars=$frombase;
$frombase=strlen($fromchars);
}
if(is_string($tobase)){
$tochars=$tobase;
$tobase=strlen($tochars);
}
$dec=0;
for($i=0;$i<strlen($number);$i++){
$char=substr($number,-1-$i,1);
$value=strpos($fromchars,$char);
$dec+=$value*pow($frombase,$i);
}
for($i=0;$i<999;$i++){
if(pow($tobase,$i)>$dec) break;
}
$number='';
for($j=$i-1;$j>=0;$j--){
$pow=pow($tobase,$j);
$n=floor($dec/$pow);
$number.=$tochars[$n];
$dec-=$n*$pow;
}
return $number;
}
?>
----
Server IP: 212.124.37.9
Probable Submitter: 95.90.100.224
----
Manual Page -- http://www.php.net/manual/en/function.base-convert.php
Edit -- https://master.php.net/note/edit/101587
Del: integrated -- https://master.php.net/note/delete/101587/integrated
Del: useless -- https://master.php.net/note/delete/101587/useless
Del: bad code -- https://master.php.net/note/delete/101587/bad+code
Del: spam -- https://master.php.net/note/delete/101587/spam
Del: non-english -- https://master.php.net/note/delete/101587/non-english
Del: in docs -- https://master.php.net/note/delete/101587/in+docs
Del: other reasons-- https://master.php.net/note/delete/101587
Reject -- https://master.php.net/note/reject/101587
Search -- https://master.php.net/manage/user-notes.php