In centos7, bash 4.2, I am rejected when I try and run my preferred iterative loop and I don't know why it no longer likes it

for (( i = ${floor}; i < ${ceiling}; i++ )); do
things_and_stuff
done

Anyone know why?

Yes I can still do
i=${floor}
while [[ $(( i += 1 )) -le ${ceiling} ]]; do
things_and_stuff
done

but it doesn't help me understand why the first construct no longer functions.