src/Util.php
public static function getType( $value )
    {
        $type = gettype($value);
        switch( $type ){
        case 'string':
            return $type . '(' . strlen($value) . ')';
            break;
        case 'integer':
        case 'float':
        case 'boolean':
            return $type . '(' . $value . ')';
            break;
        case 'NULL':
        case 'unknown type':
            return $type;
            break;
        case 'array':
            return $type . '(' . count($value) . ')';
            break;
        case 'object':
            if ( $value instanceof \Countable ){
                return get_class( $value ) . '(' . count($value) . ')';
            }
            elseif ( $value instanceof HashableInterface ){
                return get_class( $value ) . '(hash=' . $value->hash() . ')';
            }
            return get_class( $value );
            break;
        }
        return '';
    }
public static function getType( $value )
    {
        $type = gettype($value);
        switch( $type ){
        case 'string':
            return $type . '(' . strlen($value) . ')';
            break;
        case 'integer':
        case 'float':
        case 'boolean':
            return $type . '(' . $value . ')';
            break;
        case 'NULL':
        case 'unknown type':
            return $type;
            break;
        case 'array':
            return $type . '(' . count($value) . ')';
            break;
        case 'object':
            if ( $value instanceof \Countable ){
                return get_class( $value ) . '(' . count($value) . ')';
            }
            elseif ( $value instanceof HashableInterface ){
                return get_class( $value ) . '(hash=' . $value->hash() . ')';
            }
            return get_class( $value );
            break;
        }
        return '';
    }
public static function getType ( $ value ) { $ type = gettype ( $ value ) ; switch ( $ type ) { case 'string' : return $ type . '(' . strlen ( $ value ) . ')' ; break ; case 'integer' : case 'float' : case 'boolean' : return $ type . '(' . $ value . ')' ; break ; case 'NULL' : case 'unknown type' : return $ type ; break ; case 'array' : return $ type . '(' . count ( $ value ) . ')' ; break ; case 'object' : if ( $ value instanceof \ Countable ) { return get_class ( $ value ) . '(' . count ( $ value ) . ')' ; } elseif ( $ value instanceof HashableInterface ) { return get_class ( $ value ) . '(hash=' . $ value -> hash ( ) . ')' ; } return get_class ( $ value ) ; break ; } return '' ; }
get type of primitive, resource, array, or object

@param mixed $value

@return string
get type of primitive resource array or object