There are countable and non-countable nouns. It sometimes sounds best to keep non-countable nouns with 'have no', while countable with 'do not have any.' This, I think is an aesthetic choice rather than a rule.
We have no bread - He has no money - They have no class
We do not have any spoons left - We do not have a ride today - We do not have any arrows in the quiver.