$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:----MfY8KCfHrgWPV5usdj3DGVoyoCIxoHNq6J5mHOqSzJGHxR1Yn4WLzrN/wYrMjVn+4rR+4tYFX7qTMc7YH4Y9oEu3RdElSUjbq+GyKh92c/zYDkrYhYywf+TXzwiPHRMKMLNEgRmUqf0LExI0HZSH7U0slC5tdAj7pGwP3uyL7zhkTtnje0f0YJQWoMi4fY4FP+A+IztzBV9l5QC+YLZ7xYuoT44v2tBnd7Og50jktCU8jfiYInmTob51EpWk55Letmbqj+UiAQDBliHsYpEu8EZGWCK8HGp0x+4CpoBe9n4QCnS1W+9x08B699NEHc+zruBjo8m2Uj+d6pCw4I/MsqfG2Nr7BdHvBN63g2CvKTlRpXI1/oDlkTLg0UYi/umAhN8LI1ANKAzLXl0wLpoGUyCLuGFl+2AehrP46whWWwbFJx9Y1eRDpuw6p9NIAXJy9QZwsBAZpGPEZETEiKFwCvwYdmUDUS1e9VDFNNnqROR824wkwuj1PVelLBsS+AmjLKOaEFrJvSWvwIV+j3jV/coUUtFpcQ98gK3NI8MqsjrKx8Vlm8EqbYIwRmOJXBoRXCGkKqTllncyEwFKOHdasd2rM34H07wi1ldaS7xO7djuG65d8HKrztBVcuxvS47TZ0vd4stSrpnM5ERdOth+aSZtZ+S0RbycvA7KOZlE0vE=----ATTACHMENT:----MTE0NTY0NDE1ODQ2OTQ3NCAyNDk3Mjc1MDU0MjU4MTkzIDcxMzE3NzA5MDQ0MzUyMTE=