public static function unserializeQueryValue($type, $value)
    {
        // Having null value means that the user wants to remove the property name
        // associated with this value. Leave the value as null so this hold.
        if (is_null($value)) {
            return null;
        } else {
            switch ($type) {
            case self::GUID:
            case self::STRING:
            case self::INT64:
            case null:
                return strval($value);

            case self::BINARY:
                return base64_decode($value);

            case self::DATETIME:
                return Utilities::convertToDateTime($value);

            case self::BOOLEAN:
                return Utilities::toBoolean($value);

            case self::DOUBLE:
                return doubleval($value);

            case self::INT32:
                return intval($value);

            default:
                throw new \InvalidArgumentException();
            }
        }
    }
public static function unserializeQueryValue($type, $value)
    {
        // Having null value means that the user wants to remove the property name
        // associated with this value. Leave the value as null so this hold.
        if (is_null($value)) {
            return null;
        } else {
            switch ($type) {
            case self::GUID:
            case self::STRING:
            case self::INT64:
            case null:
                return strval($value);

            case self::BINARY:
                return base64_decode($value);

            case self::DATETIME:
                return Utilities::convertToDateTime($value);

            case self::BOOLEAN:
                return Utilities::toBoolean($value);

            case self::DOUBLE:
                return doubleval($value);

            case self::INT32:
                return intval($value);

            default:
                throw new \InvalidArgumentException();
            }
        }
    }
public static function unserializeQueryValue ( $ type , $ value ) { // Having null value means that the user wants to remove the property name // associated with this value. Leave the value as null so this hold. if ( is_null ( $ value ) ) { return null ; } else { switch ( $ type ) { case self :: GUID : case self :: STRING : case self :: INT64 : case null : return strval ( $ value ) ; case self :: BINARY : return base64_decode ( $ value ) ; case self :: DATETIME : return Utilities :: convertToDateTime ( $ value ) ; case self :: BOOLEAN : return Utilities :: toBoolean ( $ value ) ; case self :: DOUBLE : return doubleval ( $ value ) ; case self :: INT32 : return intval ( $ value ) ; default : throw new \ InvalidArgumentException ( ) ; } } }
Converts the value into its proper type.

@param string $type  The edm type.
@param string $value The edm value.

@internal

@return mixed

@throws \InvalidArgumentException
Converts the value into its proper type .