Need a space after [ and no space before or after = in the assignment. $(($i+1))) would try to execute the output of the ((...)) expression and I am sure that's not what you want. Also, you are missing a $ before the array name.
With these things corrected, your while loop would be:
#!/bin/bash i=0 while [ "$i" -le "${#myarray[@]}" ] do echo "Welcome $i times" i=$((i + 1)) done
i=$((i + 1)) can also be written as ((i++)) - it is always better to enclose variables in double quotes inside
[ ... ] - check your script through shellcheck - you can catch most basic issues there
See also: