public static function encode($decoded)
    {
        switch(gettype($decoded))
        {
            case "integer":
                return self::encodeInteger($decoded);

            case "double":
                return self::encodeDouble($decoded);

            case "boolean":
                return self::encodeBoolean($decoded);

            case "string":
                return self::encodeString($decoded);

            case "array":
                // If the array doesn't have sequential keys from 0 to n then assume we are dealing with a map
                if (array_keys($decoded) !== range (0, count($decoded) - 1))
                {
                    return self::encodeMap($decoded);
                }
                // Otherwise it's a sequence
                else
                {
                    return self::encodeSequence($decoded);
                }

            case "NULL":
                return self::encodeNull();

            case "unknown type":
                return self::encodeUndefined();

            case "object":
                return self::encode(self::objectToMap($decoded));
        }

        // Unknown type, just return null
        return null;
    }
public static function encode($decoded)
    {
        switch(gettype($decoded))
        {
            case "integer":
                return self::encodeInteger($decoded);

            case "double":
                return self::encodeDouble($decoded);

            case "boolean":
                return self::encodeBoolean($decoded);

            case "string":
                return self::encodeString($decoded);

            case "array":
                // If the array doesn't have sequential keys from 0 to n then assume we are dealing with a map
                if (array_keys($decoded) !== range (0, count($decoded) - 1))
                {
                    return self::encodeMap($decoded);
                }
                // Otherwise it's a sequence
                else
                {
                    return self::encodeSequence($decoded);
                }

            case "NULL":
                return self::encodeNull();

            case "unknown type":
                return self::encodeUndefined();

            case "object":
                return self::encode(self::objectToMap($decoded));
        }

        // Unknown type, just return null
        return null;
    }
public static function encode ( $ decoded ) { switch ( gettype ( $ decoded ) ) { case "integer" : return self :: encodeInteger ( $ decoded ) ; case "double" : return self :: encodeDouble ( $ decoded ) ; case "boolean" : return self :: encodeBoolean ( $ decoded ) ; case "string" : return self :: encodeString ( $ decoded ) ; case "array" : // If the array doesn't have sequential keys from 0 to n then assume we are dealing with a map if ( array_keys ( $ decoded ) !== range ( 0 , count ( $ decoded ) - 1 ) ) { return self :: encodeMap ( $ decoded ) ; } // Otherwise it's a sequence else { return self :: encodeSequence ( $ decoded ) ; } case "NULL" : return self :: encodeNull ( ) ; case "unknown type" : return self :: encodeUndefined ( ) ; case "object" : return self :: encode ( self :: objectToMap ( $ decoded ) ) ; } // Unknown type, just return null return null ; }
Encodes the supplied value into a CBOR string.

@param mixed $decoded Data to encode.
@throws CborException
@return mixed Encoded string.
Encodes the supplied value into a CBOR string .