$dec = '200000000000000000000000';
$hex = '2a5a058fc295ec000000';
echo '$dec = ' . $dec . "\n";
echo '$hex = ' . $hex . "\n";
echo 'strcmp(base_convert($dec,10,16), $hex) === 0 : ' . var_export(strcmp(base_convert($dec, 10, 16), $hex) === 0, true) . "\n";
echo 'strcmp(base_convert($hex,16,10), $hex) === 0 : ' . var_export(strcmp(base_convert($hex, 16, 10), $hex) === 0, true) . "\n";
执行结果如下:
$dec = 200000000000000000000000
$hex = 2a5a058fc295ec000000
strcmp(base_convert($dec,10,16), $hex) === 0 : true
strcmp(base_convert($hex,16,10), $hex) === 0 : false
手册上面是写了这样的警告, 如果数据大的话, 会出现精度丢失.