In godot docs array description, "A generic array that can contain several elements of any type."
(reference: https://docs.godotengine.org/en/stable/classes/class_array.html?highlight=array)

So my question is can arrays contain any types of value in any programming language?and are these "several elements" and "list of values" have the same meaning?

What I understand is "An array is a list of values.In GDScript, arrays can contain any types of value."

In general, arrays are an ordered list of variables, of the same type. So if you want 10 Sprites, you can put them in an Array.

If you need mixed types, like some Sprites, some Animated Sprites, or you don't know in advance, then you would use a Dictionary.

In GDScript, an Array can contain any type of value, and can even contain a mixture of different types of values. In Godot 4, an Array can optionally be constrained to one type of value.

This doesn't apply to other programming languages, which have their own rules. In most languages that I've used, an array's values must be the same type.

That's interesting, I thought they had to be the same type, but it might be a good idea anyhow so if you loop through them you can do the same functions without constantly checking what it is.

I agree. The fact that it's possible to do something in a programming language doesn't mean that it's a good idea to do it.