草庐IT

php - 如何从 PHP 中的字符串中获取 64 位整数散列?

我需要字符串的64位整数哈希值来实现HashMap之类的东西。在我看来,似乎没有可以返回64位整数的nativePHP哈希功能?我认为可以获取sha1散列的第一部分并将其转换为整数。然而,这不会带来最佳性能,而且转换似乎很棘手。当然,如果不用安装就可以使用原生的PHP函数就好了。 最佳答案 我尝试了很多,尤其是将完整的64位十六进制字符串转换为带符号的64位整数。现在我结束了这个:functionsha1_64bitInt($str){$u=unpack('N2',sha1($str,true));return($u[1]性能介于两

php - 生成 128 位十六进制数

我想在PHP中生成一个随机的128位十六进制数。我该怎么做? 最佳答案 我所知道的最简单的:$str=openssl_random_pseudo_bytes(16);您还可以通过在每个循环中追加字符来构建一个包含16个字符的字符串:for($i=0;$i!=16;++$i){$str.=chr(mt_rand(0,255));}要将其转换为十六进制,请使用bin2hex($str)。或者,生成UUIDv4,如earlieranswer中所述。我写了。 关于php-生成128位十六进制数,

php - 在 Windows 上安装 XDebug 64 位

我正在尝试安装XDebug。我使用的是64位的Windows7。我的PHP版本是5.6.3(使用phpinfo();获得)。我将xdebug文件放在php文件夹内的ext文件夹中(我将文件重命名为php_xdebug.dll)。我将以下代码放在php.ini文件中并重新启动了apache。[XDebug]zend_extension="D:\XAMPP\php\ext\php_xdebug.dll"xdebug.profiler_append=0xdebug.profiler_enable=1xdebug.profiler_enable_trigger=0xdebug.profiler

php - 按位运算 rune 件函数 php

谁能解释一下这个函数是如何工作的?$size=100//kbif(filesize(file)>($size如何$size工作?如何让它使用MB而不是KB? 最佳答案 表达式$size将位模式向左移动10次,有效乘以1024;换句话说,它是$size*1024.每次执行左移时,都会将值乘以二。另见bitwiseoperators.如果你想要$size要以MB为单位表示大小,请再乘以1024,即if($filesize($file)>$size*1024*1024){echo"filetoobig";}或者:if($filesize(

php - 如何生成唯一的 6 位代码

我想生成6位唯一代码,但我希望前3位是字母,后3位是数字,如下例所示。AAA111ABD156DFG589ERF542...请帮助使用上述组合创建代码..下面是我的代码..publicfunctiongenerateRandomString(){$characters='1234567890';$length=6;$charactersLength=strlen($characters);$randomString='';for($i=0;$i 最佳答案 您希望前3个字符为字母,后3个字符为数字?那么你应该分别处理它们。functi

PHP 生成 13 位时间戳,如 mktime

这个问题在这里已经有了答案:关闭10年前。PossibleDuplicate:phpgetmicrotimefromdatestring出于特定目的,我需要获取日期/时间的13位时间戳,但我找不到解决方案。像PHP中的mktime一样,我们可以得到一个10位的时间戳echomktime($hour,$minute,$second,$month,$day,$year);这会输出类似1346689283的内容。那么13位时间戳呢?PHP本身是否能够生成这样的时间戳?

php - 如何使用 PHP 将整数转换为 8 位二进制数据?

我需要将整数转换为8bit,但是pack只能转换为16bit的二进制数据。我在谷歌中搜索,但找不到任何东西。有人可以帮忙吗? 最佳答案 echo$test=pack('C',1);根据格式将给定的参数打包成二进制字符串。此函数的思想来自Perl,所有格式化代码的工作方式与Perl相同。但是,缺少一些格式代码,例如Perl的“u”格式代码。请注意,有符号和无符号值之间的区别仅影响函数unpack(),而函数pack()对有符号和无符号格式代码给出相同的结果代码是aNUL-paddedstringASPACE-paddedstringh

php - 如何获取没有千位分隔符的数字?

我有数字,即1,15,200我想更改为115200因为当我除以它时,它只除以1(在第一个逗号之前)例如:1,15,200/100输出:0.01假设输出:1152 最佳答案 $num=(int)str_replace(',','',$string);//or$num=(int)preg_replace('/[^\d]/','',$string); 关于php-如何获取没有千位分隔符的数字?,我们在StackOverflow上找到一个类似的问题: https://

php - 18位时间戳?

我正在研究与电视录制相关的系统。我正在从另一个系统(我没有相关文档)解析以下xml:我的问题是,有人认识StartTime和StopTime属性的时间戳格式吗?我认为通常到秒的时间戳有10位数字,那么其他8位来自哪里?我的猜测是时区和毫秒精度。我正在使用php,因此将它转换为日期时间的php特定方法会很好,但任何东西都很好。 最佳答案 看起来像C#的DateTime滴答:TheDateTimevaluetyperepresentsdatesandtimeswithvaluesrangingfrom12:00:00midnight,J

PHP按位左移32个空格问题和大量算术运算的不良结果

我有以下问题:首先:我正在尝试对一个大数进行32个空格的按位左移,但出于某种原因,该数总是按原样返回。例如:echo(516103988因为将位向左移动一个空格相当于乘以2,所以我尝试将数字乘以2^32,结果成功了,它返回2216649749795176448。其次:我必须将9379添加到上述点的数字中:printf('%0.0f',2216649749795176448+9379);//prints2216649749795185920应该打印:2216649749795185827 最佳答案 执行32位移位操作可能不会像您预期的