You can buy a domain isn't more than $10 a year...and you can find many free hosting sites (that will host a domain for you) that allow many features like .php.
Some just off the top of my head are...
freedomsnet.net (Not sure if they are still up and running)
4000webs.com
amfu.com
4000webs is probably the best bet, their uptime is around 99%...but if you do want/need more bandwidth or space (which you most likely won't) you should probably go through globat.com.
Globat offers some ridiculous amount of storage and bandwidth, if memory serves me its like 1,000GB storage and 300GB Bandwidth for just under $7 a month.
All-in-all unless you expect a ridiculous amount of traffic just go for a free web hosting site. I've used all forms of hosting including free and globat (as well as other paid hosts) and I've found the free ones to work more than fine.
Hope this helped--Cheers