问题描述
既不是0x
也不是0
;它是什么?有吗?
It's neither 0x
nor 0
; what is it? Is there?
推荐答案
从 PHP 5.4+ 开始,二进制数的前缀是:
As of PHP 5.4+ the prefix for binary number is:
0b
对于早期版本,没有这样的前缀.相反,您可以使用
0x
来表示十六进制.
有关详细信息,请参阅 PHP 的 整数部分手动.
For more informations, see the Integers section of the PHP manual.
不过,如果你真的需要在 PHP 5.4 之前使用二进制写入值,你可以使用 bindec
函数,它接受一个包含二进制文件的字符串,并返回相应的值.
Still, if you really need to write values using binary before PHP 5.4, you can use the bindec
function, that takes a string containing the binary, and returns the corresponding value.
例如以下部分代码:
echo bindec('10011');
会得到你:
19
但请注意,您不应该经常这样做:每次执行脚本时调用一个函数来执行此操作对性能非常不利^^
相反,使用十六进制写入值确实是一个更好的解决方案,其中每个数字编码 4 位.
But note you shouldn't do that too often : calling a function to do that each time the script is executed is quite bad for performances ^^
Instead, it's really a better solution to write your values using hexadecimal, where each digit codes for 4 bits.
这篇关于PHP中二进制的前缀是什么?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!