Convert an arbitrarily large number from any base to any base.string convBase(string $numberInput, string $fromBaseInput, string $toBaseInput)$numberInput number to convert as a string$fromBaseInput base of the number to convert as a string$toBaseInput base the number should be converted to as a stringexamples for $fromBaseInput and $toBaseInput'0123456789ABCDEF' for Hexadecimal (Base16)'0123456789' for Decimal (Base10)'01234567' for Octal (Base8)'01' for Binary (Base2) You can really put in whatever you want and the first character is the 0.Examples:<?php convBase('123', '0123456789', '01234567'); convBase('70B1D707EAC2EDF4C6389F440C7294B51FFF57BB', '0123456789ABCDEF', '01');convBase('1324523453243154324542341524315432113200203012', '012345', '0123456789ABCDEF');convBase('355927353784509896715106760','0123456789','Christopher');convBase('1C238Ab97132aAC84B72','0123456789aAbBcCdD', '~!@#$%^&*()');function convBase($numberInput, $fromBaseInput, $toBaseInput){ if ($fromBaseInput==$toBaseInput) return $numberInput; $fromBase = str_split($fromBaseInput,1); $toBase = str_split($toBaseInput,1); $number = str_split($numberInput,1); $fromLen=strlen($fromBaseInput); $toLen=strlen($toBaseInput); $numberLen=strlen($numberInput); $retval=''; if ($toBaseInput == '0123456789') { $retval=0; for ($i = 1;$i <= $numberLen; $i++) $retval = bcadd($retval, bcmul(array_search($number[$i-1], $fromBase),bcpow($fromLen,$numberLen-$i))); return $retval; } if ($fromBaseInput != '0123456789') $base10=convBase($numberInput, $fromBaseInput, '0123456789'); else $base10 = $numberInput; if ($base10<strlen($toBaseInput)) return $toBase[$base10]; while($base10 != '0') { $retval = $toBase[bcmod($base10,$toLen)].$retval; $base10 = bcdiv($base10,$toLen,0); } return $retval;}?>