Improvement to php base_convert
function with support for large arbitrary number
Via Composer
$ composer require phlib/base_convert
Trying in php fails
// convert big number from base 10 to 36
$largeNumber = '111222333444555666777888999000';
$base36 = base_convert($largeNumber, 10, 36); // notice no error from php on the failure to convert
var_dump($base36);
// fails to convert back
var_dump($largeNumber == base_convert($base36, 36, 10));
Replace with phlib\base_convert and now it works
<?php
require_once 'vendor/autoload.php';
use function Phlib\base_convert;
// convert big number from base 10 to 36
$largeNumber = '111222333444555666777888999000';
$base36 = base_convert($largeNumber, 10, 36);
var_dump($base36);
// succesfully converts back
var_dump($largeNumber == base_convert($base36, 36, 10));
Making it clearer you're using a different function
require_once 'vendor/autoload.php';
// convert big number from base 10 to 36
$largeNumber = '111222333444555666777888999000';
$base36 = Phlib\base_convert($largeNumber, 10, 36);
var_dump($base36);
// succesfully converts back
var_dump($largeNumber == Phlib\base_convert($base36, 36, 10));
This package is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public License along with this program. If not, see http://www.gnu.org/licenses/.