public static function serializeHTTPGDO($key, GDO $gdo, &$back) { $gdo_data = $gdo->getGDOData(); # GDO Header if ($key !== '') { $back .= sprintf('G:%s:%s:%d:' . PHP_EOL, $key, $gdo->getClassName(), count($gdo_data)); } foreach ($gdo_data as $key => $value) { if (is_object($value)) { # Object $value->serializeHTTPGDOValue($back); } elseif (is_array($value)) { # Array self::serializeHTTPArray($key, $value, $back); } else { # Primitive self::serializeHTTPPrimitive($key, $value, $back); } } }