<?php
$logfile = fopen('/tmp/out', 'w+');
function test($logfile) {
$chars = '0123456789abcdefghijklmnopqrstuvwxyz';
$base = mt_rand(2, 36);
$len = mt_rand(10, 100);
$str = '';
for ($i = 0; $i < $len; ++$i) {
$str .= $chars[mt_rand(0, $base - 1)];
}
fprintf($logfile, "base %s value %s\n", $base, $str);
$gmp = gmp_init($str, $base);
$val = gmp_strval($str, $base);
$val = str_pad($val, strlen($str), '0', STR_PAD_LEFT);
if ($val !== $str) {
throw new Exception('Not same - base '.$base."\n-".$str."\n+".$val);
}
}
for($i = 0; $i < 100000; ++$i) {
test($logfile);
}
preferences:
36.45 ms | 402 KiB | 5 Q