我有點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);