public static function resolveType($value): string
    {
        if (is_array($value)) {
            if (count($value) === 0) {
                return 'array';
            }

            return self::resolveType($value[0]) . '[]';
        }

        return is_object($value) ? get_class($value) : gettype($value);
    }
public static function resolveType($value): string
    {
        if (is_array($value)) {
            if (count($value) === 0) {
                return 'array';
            }

            return self::resolveType($value[0]) . '[]';
        }

        return is_object($value) ? get_class($value) : gettype($value);
    }
public static function resolveType ( $ value ) : string { if ( is_array ( $ value ) ) { if ( count ( $ value ) === 0 ) { return 'array' ; } return self :: resolveType ( $ value [ 0 ] ) . '[]' ; } return is_object ( $ value ) ? get_class ( $ value ) : gettype ( $ value ) ; }
Gets the type of the input value
This is useful for getting around PHP's type shortcomings

@param mixed $value The value whose type we want
@return string The type of the input value
Gets the type of the input value This is useful for getting around PHP s type shortcomings