If you go to dreamhost right now, you can get not only a shared host for $9.99/year but also a free domain name. I don't work for dreamhost in anyway and I get no benefit from this, just thought I'd mention the sweetheart deal they have going right now.
Don't worry - Dreamhost is great. I've been using them for about 2 years total so far for personal projects. Their service is great, snappy - and they have a ton of wiki info for various stuff you might need should you look into other projects etc.. I can easily flip on another custom subdomain for a project and keep everything clean and separate.
Its a great deal.
Setting up your own server on local host with XAMPP will be fine. Even in professional development it is common practice to develop locally and sync with your remote server to put into staging or production.
That said, shared hosts are pretty cheap these days occasionally some vendors run 1 year specials for < $20.
Another option for a bit of extra geekyness is to set up a server on your home network, media pc, etc and use something like DynDNS to be able to access it from the internet.