diff --git a/example.php b/example.php index 88e0b64..7671d2c 100644 --- a/example.php +++ b/example.php @@ -12,14 +12,14 @@ var_dump(\danog\PHP\Struct::calcsize('>l')); // Dynamic usage with format definition on istantiation $struct = new \danog\PHP\StructClass('2cxbxBx?xhxHxixIxlxLxqxQxnxNxfxdx2sx5pP'); -var_dump($struct->unpack($struct->pack('n', 'v', -127, 255, true, -32767, 65535, -2147483647, 4294967295, 999999, 9999999, -9223372036854775807, 18446744073709550590, 34434, 344434, 2.2343, 3.03424, 'df', 'asdfghjkl', 1283912))); +var_dump($struct->unpack($struct->pack('n', 'v', -127, 255, true, -32767, 65535, -2147483647, 4294967295, 999999, 9999999, -9223372036854775807, 18446744073709550590, 34434, 344434, 2.2343, 3.03424, 'df', 'asdfghjkl', 1283912))); // Dynamic usage with format definition on function call $struct = new \danog\PHP\StructClass(); -var_dump($struct->unpack('2cxbxBx?xhxHxixIxlxLxqxQxnxNxfxdx2sx5pP', $struct->pack('2cxbxBx?xhxHxixIxlxLxqxQxnxNxfxdx2sx5pP', 'n', 'v', -127, 255, true, -32767, 65535, -2147483647, 4294967295, 999999, 9999999, -9223372036854775807, 18446744073709550590, 34434, 344434, 2.2343, 3.03424, 'df', 'asdfghjkl', 1283912))); +var_dump($struct->unpack('2cxbxBx?xhxHxixIxlxLxqxQxnxNxfxdx2sx5pP', $struct->pack('2cxbxBx?xhxHxixIxlxLxqxQxnxNxfxdx2sx5pP', 'n', 'v', -127, 255, true, -32767, 65535, -2147483647, 4294967295, 999999, 9999999, -9223372036854775807, 18446744073709550590, 34434, 344434, 2.2343, 3.03424, 'df', 'asdfghjkl', 1283912))); // Static usage -var_dump(\danog\PHP\Struct::unpack('2cxbxBx?xhxHxixIxlxLxqxQxnxNxfxdx2sx5pP', \danog\PHP\Struct::pack('2cxbxBx?xhxHxixIxlxLxqxQxnxNxfxdx2sx5pP', 'n', 'v', -127, 255, true, -32767, 65535, -2147483647, 4294967295, 999999, 9999999, -922337203685, 18446744073709550590, 34434, 344434, 2.2343, 3.03424, 'df', 'asdfghjkl', 1283912))); +var_dump(\danog\PHP\Struct::unpack('2cxbxBx?xhxHxixIxlxLxqxQxnxNxfxdx2sx5pP', \danog\PHP\Struct::pack('2cxbxBx?xhxHxixIxlxLxqxQxnxNxfxdx2sx5pP', 'n', 'v', -127, 255, true, -32767, 65535, -2147483647, 4294967295, 999999, 9999999, -922337203685, 18446744073709550590, 34434, 344434, 2.2343, 3.03424, 'df', 'asdfghjkl', 1283912))); // S'more examples var_dump(\danog\PHP\Struct::calcsize('f')); diff --git a/lib/danog/PHP/StructTools.php b/lib/danog/PHP/StructTools.php index eba0124..9f10e12 100644 --- a/lib/danog/PHP/StructTools.php +++ b/lib/danog/PHP/StructTools.php @@ -304,7 +304,7 @@ class StructTools case 'S': case 'c': case 'C': - $curresult = $this->num_pack($data[$command['datakey']], $command['modifiers']['SIZE'], ctype_upper($command['phpformat'])); + $curresult = $this->num_pack($data[$command['datakey']], $command['modifiers']['SIZE'], ctype_upper($command['phpformat'])); break; @@ -419,8 +419,8 @@ class StructTools if (!is_int($result[$arraycount]) && !is_float($result[$arraycount])) { $result[$arraycount] = (int) $result[$arraycount]; } - if(is_float($result[$arraycount]) && $result[$arraycount] < PHP_INT_MAX) { - $result[$arraycount] = (int)$result[$arraycount]; + if (is_float($result[$arraycount]) && $result[$arraycount] < PHP_INT_MAX) { + $result[$arraycount] = (int) $result[$arraycount]; } break; case 'float': @@ -688,13 +688,13 @@ class StructTools do { $concat = ($number % 2).$concat; $number = intval($number / 2); - } while($number > 0); + } while ($number > 0); $concat = str_pad($concat, $length, '0', STR_PAD_LEFT); if ($negative) { $concat = $this->binadd($this->stringnot($concat), '1'); } - if(strlen($concat) == $length + 1 && $concat == str_pad("1", $length + 1, '0', STR_PAD_RIGHT)){ - $concat = str_pad("", $length, "0"); + if (strlen($concat) == $length + 1 && $concat == str_pad('1', $length + 1, '0', STR_PAD_RIGHT)) { + $concat = str_pad('', $length, '0'); } if (strlen($concat) > $length) { trigger_error('Converted binary number is too long ('.strlen($concat).' > '.$length.').'); @@ -716,13 +716,13 @@ class StructTools public function bindec($binary, $unsigned = true) { $decimal = 0; - if (!$unsigned && $binary[0] == "1") { + if (!$unsigned && $binary[0] == '1') { $binary = $this->binadd($this->stringnot($binary), '1'); $negative = true; } else { $negative = false; } - + foreach (str_split(strrev($binary)) as $n => $bit) { $decimal += (pow(2, $n) * $bit); } @@ -812,7 +812,7 @@ class StructTools $bitnumber = $blocksize * 8; if ($unsigned) { $min = 0; - switch($bitnumber) { + switch ($bitnumber) { case '8': $max = 255; break; @@ -824,13 +824,13 @@ class StructTools break; case '64': $max = 18446744073709551615; - break; + break; default: $max = pow(2, $bitnumber) - 1; break; } } else { - switch($bitnumber) { + switch ($bitnumber) { case '8': $min = -127; $max = 127; @@ -846,7 +846,7 @@ class StructTools case '64': $min = -9223372036854775807; $max = 9223372036854775807; - break; + break; default: $max = pow(2, $bitnumber - 1) - 1; $min = -pow(2, $bitnumber - 1);