note 101587 deleted from function.base-convert by danbrown

From: Date: Tue, 28 Dec 2010 16:16:54 +0000
Subject: note 101587 deleted from function.base-convert by danbrown
References: 1  Groups: php.notes 
Request: Send a blank email to php-notes+get-175277@lists.php.net to get a copy of this message
Note Submitter: rheel at 1drop dot de ---- 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; } ?>

« previous php.notes (#175277) next »