phlib / base_convert
base_convert function with support for large arbitrary number
Installs: 1 022 146
Dependents: 7
Suggesters: 0
Security: 0
Stars: 3
Watchers: 5
Forks: 0
Open Issues: 0
Requires
- php: ^7.4 || ^8.0
- ext-bcmath: *
Requires (Dev)
README
Improvement to php base_convert
function with support for large arbitrary number
Install
Via Composer
$ composer require phlib/base_convert
Usage
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));
License
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/.