$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:----GWe7njgXR110aLd1aBWS5ue1fkcrryX08LrtcN7BSTWy1lp0k5Qr9xd6LK1hZrcAdEn/jKqmTPqkMiTl9fN0ASOo9eYOJf1X/do9Hi3yH/CAGUkOsEGQkkYp0PLOuXBv8RjNbBFBnc0GRVrGScrRovbb17agoPMOK5gJCIwkXKbyYCNLo4mQmUgINt3NrltXsKa0ppo9acNod5DKBVUy7B8n5vLwBTtmVYoc3yoAuwJtD9FggS/PBULpdHGomnLLHi9he2dSEapzPLa1X/C0DC1z4JjRENB+VXXTMsD4TCOmJX3QE4RKUJnkDmspKe4noYTNHnlUuoSsi2RKRYFgxG0wqhorxi+SYdJICLbfl+i0aBwGb2ifFTuZjCnnsxocM9xAXCw3gMTClMpg0XdiBQbi5E5bfu+zPZk9PEXGPQ2fMc/A6llYcUNiXbWpgu7oY7JS7BBQz9Ai+4gNWQ46A8ZF9ylyUyP53WoSIq4ihIiB50TzMfrcs6lXBPdOR/7Q0q5fqSRL2iPEWVGkKBbiPPtc6Fh0AjiMlcPk+ZYMtki9b7n3hLUl5pGqhzbFHohkvGUlqeTPuqpiQIyZ4iSuOlQKYkpRQZhTlz1TzXLtZ5srs5x70boLkLL+FxCcp7vD0DnxMJCVVMO25U6AIl/BXy6QwTDYuHaKk8fItg3+OCE=----ATTACHMENT:----NTUzMTM1MzUwNDgyNjM0OSA1MjkyMTg3MzYzNDgzMTUyIDczMDQ0MzUzNDg2OTE5NTk=