PHP中二进制的前缀是什么?

2022-01-09 00:00:00 binary syntax php

既不是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.

相关文章