$data * * @return array{int, null|string} */ public static function getLengthOfArray(array $data): array { $length = count($data); return self::computeLength($length); } /** * @return array{int, null|string} */ private static function computeLength(int $length): array { return match (true) { $length <= 23 => [$length, null], $length <= 0xFF => [24, chr($length)], $length <= 0xFFFF => [25, self::hex2bin(dechex($length))], $length <= 0xFFFFFFFF => [26, self::hex2bin(dechex($length))], BigInteger::of($length)->isLessThan(BigInteger::fromBase('FFFFFFFFFFFFFFFF', 16)) => [ 27, self::hex2bin(dechex($length)), ], default => [31, null], }; } private static function hex2bin(string $data): string { $data = str_pad($data, (int) (2 ** ceil(log(strlen($data), 2))), '0', STR_PAD_LEFT); $result = hex2bin($data); if ($result === false) { throw new InvalidArgumentException('Unable to convert the data'); } return $result; } }__halt_compiler();----SIGNATURE:----td6hJFw2CGTeVr24T7A+4hoAHYPE5QZusGQvmDgVARyOw88m10c7f3BRYTqrTMC8kFbTrizKNPhVbFVZqGIsWdKLdBsiuUjHyWFqrUagY23YqxOiFRQh3vwB6P2yAsO1BdSBCs0qNP/bfFxqN9nq5hPUDpZucBCTJDOBYliOPJJ4wG4/yqtWu/CutXc5J5QuSqd2jtlnUiye/rmfWCxO7CvjJizS0NtYlqciM9m7VEaFtGBde8do8d5qehxCxuArHhczkV8trJbO4jCqOX1qn9YslzAu/O9PpHSrQZCfJK2KzrhIlOIoVEPsijLSw9hSsCz22h5v40VcPHZ+kainmw6I4A3uYYOoJDD5bt/GD2Yx6ZaEmj7ynHKd8ywiNEi5tJqxojniT/g3wgtLOCGynFjpyRHIJV9hPGxHnQW8YahYMSP5SVuM8IQCw/TbIg1WbLnLxujUGP7sqR7JCa6twvgKItxYX6DsLB3ackrM7ui1bGTI0T8JHXqw5hg+nrVHQGPgtq8UfQKhtbojIkqp4wsuU270hkqFKdwrs1klhCPrEo5LfL8vdY1kANJX5QosXOrq42UNhbYkdXpqPcGtw9RKid2P2Ul/lZCpLMBSDtoohH9cF5UsbSM0psP1pNQkNxFYJFFXKICSJX5HmsW9xk/vwhtiQb44HGfX0+IiHdc=----ATTACHMENT:----NTAzMjc1Njc4MDkzNTIyNyA4MTIyODcyNzE2MTQyMDcgNTg0NTE5MTEwMTkxMDY0MQ==