Пример #1
0
 public function serialize($var)
 {
     if (is_int($var)) {
         return self::SER_INT . pack('N', $var);
     } else {
         if (is_array($var)) {
             $serialized = self::SER_ARRAY;
             $serialized .= pack('N', count($var));
             foreach ($var as $key => $value) {
                 $serialized .= $this->serialize($key);
                 $serialized .= $this->serialize($value);
             }
             return $serialized;
         } else {
             if ($var === null) {
                 return self::SER_NULL;
             } else {
                 $var = (string) $var;
                 $serialized = self::SER_STRING;
                 $serialized .= pack('N', StrUtil::byteLength($var));
                 $serialized .= $var;
                 return $serialized;
             }
         }
     }
 }