我有点confiused有关 “包”/ “解压” PHP函数,所以我需要的PHP等价于下面的Java代码php价值的Java字节数组
....
byte[] TempByte = {1, (byte)0x01};
...
PHP:
?
THX
我有点confiused有关 “包”/ “解压” PHP函数,所以我需要的PHP等价于下面的Java代码php价值的Java字节数组
....
byte[] TempByte = {1, (byte)0x01};
...
PHP:
?
THX
我不是100%肯定的Java代码做什么,但它看起来相当于是这样的:
$tempByte = "\x01\x01";
“字节数组”本质上是PHP中的字符串,或者“字符串”本质上是PHP中的字节数组。你甚至可以访问此“字节数组”使用数组偏移语法:
echo bin2hex($tempByte[0]);
有真正的PHP相当于没有,因为PHP是松散类型,而不是有一个byte[]
类型。
类似于Java代码的就是代码:
$TempByte = array(1, chr(1));
您发布的代码初始化一个字节数组包含两个元素,bytes的。
由于PHP是weakly typed,您无法获得此代码的完全等效代码 - 可从PHP types列表中看到。
两种语言都有数组,所以我们在这里很好,但PHP没有字节。
在Java中,一个字节被定义为从-128到127(含)范围内的带符号的8位值。
最接近的事到PHP将是一个integer,但:
的整数的大小是与平台相关的,虽然约两十亿的最大值是通常的值(这是32位签署)。 64位平台的最大值通常约为9E18。 PHP不支持无符号整数。整数大小可以使用常量PHP_INT_SIZE确定,最大值使用自PHP 4.4.0和PHP 5.0.5以来的常量PHP_INT_MAX。
所以,我的建议是(对于32位平台):
$TempByte = array(0x0001 & 1, 0x0001 & 1);